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.

[参考译文] TM4C129ENCPDT:TM4C129ENCPDT、控制器卡在错误 ISR 上、总线错误不精确

Guru**** 2460850 points
Other Parts Discussed in Thread: TM4C129ENCPDT

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/647844/tm4c129encpdt-tm4c129encpdt-the-controller-gets-stuck-at-fault-isr-with-error-imprecise-bus-fault

器件型号:TM4C129ENCPDT

大家好、

希望一切都好。

我在 TM4C129ENCPDT 中遇到问题。 在我运行控制器一个多小时后、将会出现不精确的总线故障错误、如下所示

检查堆栈指针指向0x20001548

内存浏览器显示如下、因此我在000098A6检查了反汇编。

在0098A6上、反汇编如下所示:

请求您的帮助以进一步了解可能存在的问题。

提前感谢您。

此致

Shijin

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

    您需要查看的是异常堆栈帧。 在 CCS 中、转至 Registers 浏览器窗口并查看内核寄存器下的 MSP 寄存器。 了解 MSP 的价值并转到该位置。 当发生异常时、R0-R3、R12、LR、PC 和 xPSR 保存在那里。 您要检查保存的 PC、而不是当前 PC。 转至保存的 PC 地址、在反汇编窗口中、您应该尝试找到一个可能导致不精确总线错误的 STR 指令。 STR 指令应该比保存的 PC 早一些。 它可能位于保存的 PC 之前的函数末尾。 通常情况下、由于处理器写入缓冲区、导致总线错误的 STR 操作是不精确的。

    本应用手册的第3.3节提供了进一步的不精确故障调查。 www.ti.com/.../spma043.pdf
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    非常感谢 Charles、  

    感谢您的快速支持。 我还没有对问题进行调试、但下面介绍了如何调试故障。