cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
alvaro27
Adventurer
Adventurer
7,665 Views
Registered: ‎09-26-2007

Microblaze reset

Jump to solution

Hello people,

 

 

Is there any way to reset the microblaze processor when a hardware exception ocurrs?

 

 Thanks

 

0 Kudos
Reply
1 Solution

Accepted Solutions
goran
Xilinx Employee
Xilinx Employee
9,642 Views
Registered: ‎08-06-2007

Hi,

 

A GPIO can connect to proc_sys_reset so you can issue a reset from software.

This can be done from a exception handler.

 

Göran

View solution in original post

5 Replies
goran
Xilinx Employee
Xilinx Employee
9,643 Views
Registered: ‎08-06-2007

Hi,

 

A GPIO can connect to proc_sys_reset so you can issue a reset from software.

This can be done from a exception handler.

 

Göran

View solution in original post

jpl@xiphos.ca
Adventurer
Adventurer
7,486 Views
Registered: ‎10-28-2007

I'm experiencing some issues when issuing a reset through gpio from linux (latest git 2.6.33 kernel from git.xilinx.com).  Are there any tricks or caveats when connecting?  Is EXT input preferable over AUX, or are they just labels to differentiate two inputs?

 

Thanks in advance.

 

Joshua

0 Kudos
Reply
jpl@xiphos.ca
Adventurer
Adventurer
7,425 Views
Registered: ‎10-28-2007

My issues were caused by Linux overwriting the value of the Reset Vector.  More explanation is available at the following thread.

 

http://forums.xilinx.com/t5/Embedded-Linux/Microblaze-reset-from-GPIO/m-p/69212#M2346

0 Kudos
Reply
wreinhold
Adventurer
Adventurer
6,384 Views
Registered: ‎09-23-2011

Just in case there's someone else out there like me who's struggling with exactly how to do this, here's how I got it to work:

 

*** Update *** this didn't work.  The processor will restart, but it does not run correctly.  Everything (peripherals maybe?) does not seems get reset correctly with this approach...

 

In XPS, add a new GPIO instance, one bit wide. 

In the Bus Interfaces tab make sure it's connected to the appropriate bus.

In the Ports tab, expand proc_sys_reset_0

In my case, Aux_Reset_In was not connected.  Select "New Connection."

Also in the Ports tab, expand the new GPIO instance.

Expand (IO_IF)gpio_0.

Drop down the Net for GPIO_IO_O and select the same net just created for Aux_Reset_In.

After exporting the updated hardware to SDK, the xparameters.h file will now have an entry for your new GPIO.

Setting bit 0 of the BASE_ADDRESS will reset the system.

 

 

 

 

0 Kudos
Reply
robn
Moderator
Moderator
6,367 Views
Registered: ‎11-10-2010

Wreinhold, This topic is over a year old and has been marked as solved; you should create a new topic. Locked.

0 Kudos
Reply