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.

[参考译文] TMS570LS3137:预取中止异常调试

Guru**** 2027300 points
Other Parts Discussed in Thread: TMS570LS3137
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1446424/tms570ls3137-prefetch-abort-exception-debugging

器件型号:TMS570LS3137

工具与软件:

您好!

我正在开发使用 TMS570LS3137和用于操作系统的 TI SYS/BIOS 的电机控制器软件。

OS 在管理低频任务、而我们在使用由 NHET 模块触发的 FIQ 中断来执行高频 PWM 占空比计算。

我遇到的问题是、当 CPU 负载100%合格时、我们开始具有嵌套中断 FIQ 和/或 IRQ、有时我们会收到预取中止异常。 问题似乎在精确的时间发生、例如在函数调用返回期间发生 FIQ 重新进入...

我正在尝试找出发生的情况、将一个断点放在地址0xC (即预取中止异常矢量)上、并查看寄存器 R14_ABT 以了解触发异常的地址。 地址为0x07064614、它位于保留存储器位置。 您能告诉我这个地址对应什么吗?

下面是这些寄存器的屏幕截图:

CP15中的寄存器也显示相同的地址:

谢谢!

Martin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Martin:

    该地址没有任何具体意义、它只是闪存和 RAM 之间的一个保留存储器位置。

    您的代码中是否有可能跳转到此地址范围并尝试执行此地址范围内的代码? 每当 CPU 尝试从保留的存储器执行指令时、这可能会导致预取异常。

    ——
    谢谢、此致、
    Jagadish。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Jagadish、

    不可以、我的代码不应该跳到该地址范围。  

    我在看这个帖子 TMS570LS3137-VIM:-安全库实现-预取中止异常当电源循环电路板时 引起错误的地址是0xC83CE02,它也在保留空间,但这是 EP 表有问题时的回退地址。

    我当时想、该地址0x7064610对于另一个问题可能也具有一定的意义。

    谢谢!

    Martin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Martin:

    对反应的延误深表歉意。

    首先、我建议您参考以下主题:

    这解释了如何对 Hercules 控制器上的不同异常进行故障排除。

    (+)[常见问题解答] TMS570LC4357:Hercules 器件上的中止异常故障排除-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    如果它无法帮助您解决问题、

    因为我没有此代码和设置来从我这边触发和验证问题

    是否可以设置一个实时调试会话来从我这边直接验证问题。

    ——
    谢谢、此致、
    Jagadish。