This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello,
I'm working on determining the last cause of the CPU1 reset, currently by using SysCtl_getResetCause(). In particular I want to determine if previous reset was due to the WDTRS, NMIWDTRS, or XRSn (driven low from external circuit). I see that when each of these conditions is forced, I see the appropriate result from SysCtl_getResetCause(). However, once they occur, the bits are still set after subsequent resets.
For example, if I fire an NMIWDTRS via NMIFLGFRC, then SysCtl_getResetCause() returns 0x0000000A, as expected. However, if I then warm reset via XRSn or debugger, it continues to report 0x0000000A. I can see that the NMIWDRSn bit in RESC is still set. The only way to clear it seems to be via the debugger or a cold reset.
Is this intended behavior? I see in the TRM that these bits in RESC should clear on reset, so is the boot ROM setting them somehow?
Regards,
Mike
I found the SysCtl_clearResetCause() API right below SysCtl_getResetCause(), that seems to work. The TRM (rev I) indicates that all of these bits are type "R/W1S", but I guess the TRM is wrong, fortunately.
Nevermind!
-Mike