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