2009-06-16 04:25 AM
Software reset does not work as i would wish
2011-05-17 04:14 AM
Hello,
we use a software reset in some cases to reset our STM32 uC oing this: *((unsigned int*)0xE000ED0C) = 0x05FA0001; And we have very very very very big problems with that. It seems as if the reset only resets the core and not any peripheral like timer or even PLL settings. After a Hardware reset applikation always runs fine, software reset fails. Every time we have to find the new reason again and handle it in startup code. isnt there a possibilitiy to do a REAL reset by software????? :-Y [ This message was edited by: Flasher2 on 16-06-2009 15:39 ]2011-05-17 04:14 AM
You may not get a reset if you have a debugger connected and effecting the reset line.
software reset worked fine for us after making sure the debugger was not connected, eg. what would happen in the real world. Cheers sjo2011-05-17 04:14 AM
Well if the debugger is not connected - do you have anything on the reset line at all?
Cheers sjo2011-05-17 04:14 AM
Debugger is not connected but anyway reset doesnt work :(
2011-05-17 04:14 AM
Well, there's always the brute force method: use an I/O pin with a little bit of external circuitry to pull down the external reset line. Once the chip goes into reset the I/O pin will revert to a high impedance input and release the reset line.
2011-05-17 04:14 AM
If you want to reset the whole system, please try:
*((volatile unsigned int*)0xE000ED0C) = 0x05FA0004; This generate a system reset request rather then just reset the core. (and don't forget using ''volatile'')2011-05-17 04:14 AM
If that still does not work you could use a watchdog to reset the system.
Cheers sjo