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.
Tool/software:
Hello,
I am working on a motor controller software using TMS570LS3137 and TI SYS/BIOS for the OS.
The OS is managing the low frequency tasks and we are using a FIQ interrupt triggered by the NHET module to do the high frequency PWM duty cycle calculation.
The problem I have is when the CPU load approches 100% we start having nested interrupts FIQ and/or IRQ and some times we get Prefetch Abort exceptions. The problem seems to occur at a precise timing for example when a FIQ reentry occurs during a function call return...
I am trying to find out what is going on, I put a break point on address 0xC which is the Prefetch Abort exception vector and look at register R14_ABT for the address that triggered the exception. The address is 0x07064614 which is in a reserved memory location. Can you tell me what this address corresponds to?
Here is a screen shot of the registers:
Registers in CP15 also show the same address:
Thanks,
Martin
Hi Martin,
There is not any specific significance for this address, it is just a reserved memory location in between Flash and RAM.
Is there any possibility in your code to jump to this address range and try to execute the code in this address range? Whenever CPU try to execute the instructions from reserved memory, this can lead to prefetch exception.
--
Thanks & regards,
Jagadish.
Hello Jagadish,
No, my code is not supposed to jump to this address range.
I was looking at this post TMS570LS3137-EP: TMS570LS3137 - Safety library implementation - Prefetch abort exception when power cycling the board where the address that caused the error is 0xC83CE02 which is also in a reserved space but this was the fall back address when VIM table has a problem.
I was thinking maybe this address 0x7064610 also had some significance for a different problem.
Thanks,
Martin
Hi Martin,
Apologies for the delay in the response.
First i am suggesting you refer below thread:
this explains how to troubleshoot different exceptions on Hercules controllers.
If it doesn't help you to resolve the issue then,
As I don't have this code and setup to trigger and verify the issue from my end.
Is it possible to setup one live debugging session to directly verify the issue from my side.
--
Thanks & regards,
Jagadish.