Part Number:TM4C129XNCZAD
Tool/software:TI-RTOS
I am seeking a general approach to figuring out why a TI-RTOS project reaches abort() seen in the screen shot below. I have a few tasks and I am not sure what triggers my error.
What are the six values printed to the console? I assume FSR was "fault status register", but the memory browser tells me FAULT_STAT is set to 0x00000400 in this case (Imprecise data bus error). The BFARV bit isn't set, so I can't see the address that cause the fault in the FAULTADDR register
The exception stack frame described in Diagnosing Software Faults in Stellaris® Microcontrollers AN01286 indicates the PC value was 0x20000548 according to the screenshot below. This SRAM location does not appear to have opcodes. The other values don't seem to ever match the core registers. The LR value also indicates the PC was operating from SRAM. I do not know what code is in SRAM or how to debug it.
The guide says "If your fault handler function has any code besides a simple infinity loop, then it may use some stack space. You must adjust the value of the stack pointer by this amount in order to find the start of the exception stack frame." Is abort() taking the place of FaultISR()? The _pem4f.c file seems to place ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I at the fault vectors. What is the size of the fault handler function? Am I looking at the actual exception stack frame?
I am not sure how to fine the fault in my code based on this output.