Part Number: MSP430FR5969
I'm trying to understand the ramifications of reading SYSRSTIV after a reset. I've spent the past several days debugging a problem with my reset logging. I first noticed the problem when I would induce an MPU violation but read a WDT timeout (0x16) in SYSRSTIV after reset. This would happen even when I disabled the watchdog timer. After further debugging, I noticed that the SYSRSTIV register would sometimes be nonzero (ex: 0xA) even after the system had come back from reset and read SYSRSTIV once.
After reading through documentation and forum discussion I realized that I might need to read SYSRSTIV until it reads as 0x0 (no reset pending). This seems to have totally resolved the problem and now I'm trying to figure out why. It seems my problem was caused by only reading SYSRSTIV once after reset, but I'm not clear on how reading it till 0 makes a difference if only 1 interrupt occurred.
I'd really appreciate any insights on how handling system resets normally works and why reading the SYSRSTIV register until it reads 0x0 is so important.