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.

TMS570LS1224: PreFetch Abort Debugging

Part Number: TMS570LS1224
Other Parts Discussed in Thread: HALCOGEN

Hello,

I've recently encountered a PreFetch Abort while testing code that has been very difficult to track down. This has consistently happened by sending a known CAN request, that up to now has worked without error.  While my debugging process has led me to suspect a standard library function, I've tried to verify this by looking at the registers but seem to hit dead ends.

From the Interrupt and Exception Handling on HerculesTm ARM® Cortex®-R4/5-Based Microcontrollers (SPNA218) and looking at the memory location (0x0C) execution sits when paused, I've determined it to be a Prefetch Abort.  As this abort is precise, I should be able to determine which instruction caused the abort. Between the Technical Reference Manual and the Arm documentation, I've looked at the abort registers (SPSR_abt, R14_abt) as well as the CP15 Fault registers. They lead me to believe this a Precise External Abort, caused by an instruction executed at address 0x20202020 in System Mode.  That said, the address falls into the Mirrored Flash area, but looking at the Memory mapping would be in Reserved Flash Memory. 

I'm at a loss.  My initial debugging indicates a standard library function issue (which seems highly unlikely), but the entirety of the CAN response is executed within the CAN irq handler and is at odds with SPSR_abt information and the address is outside of possible flash execution.  Additionally, other unrelated and minor changes are affecting how reliably this error can be reproduced

Any help would be greatly appreciated

.