I'm using Tiva TM4C129XNCZAD based on 32-bit ARM® Cortex®-M4F in a TI_RTOS environment. I'm getting an unexpected reset during the normal flow of the system. After reset, I get the following register values. How can I understand what caused the reset using the below register values?
0xffffffff R1 = 0x00000000 R9 = 0xffffffff R2 = 0x2000a26c R10 = 0xffffffff R3 = 0x2000a26c R11 = 0xffffffff R4 = 0x2003ee54 R12 = 0x00000000 R5 = 0x20000a80 SP(R13) = 0x20034e18 R6 = 0x2003d664 LR(R14) = 0x00073135 R7 = 0x2003bbc4 PC(R15) = 0x00000000 PSR = 0x60000000 ICSR = 0x0440f803 MMFSR = 0x00 BFSR = 0x00 UFSR = 0x0002 HFSR = 0x40000000 DFSR = 0x00000001 MMAR = 0xe000ed34 BFAR = 0xe000ed38 AFSR = 0x00000000 Terminating execution...
I am not quite understanding that this is a register dump post-reset, but represents a fault that occurred pre-reset?
Just a hunch, but your PC is 0. That could occur via
void (*fp)(void); ... fp = NULL; ... fp();
Is that plausible in this case?