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.

[参考译文] CCS/TM4C129XNCZAD:在我调试程序的大多数时间内一直获取 FaultISR

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/572051/ccs-tm4c129xnczad-keep-getting-faultisr-most-times-i-debug-the-program

器件型号:TM4C129XNCZAD

工具/软件:Code Composer Studio

我正在运行:

MacOS Sierra 10.12
- CCS 7.0.0
- TM4C129XNCZAD  

当我运行一个特定的程序(一个用于 TM4C129X 电路板的自定义程序)时,它不会运行,并会出现硬件故障,可能是总线故障,然后进入 FaultISR()。

这种情况通常会发生、但我的代码现在和之后都可以正常运行、这比始终无法正常运行更令人沮丧。

您认为问题可能出在哪? 此外、问题是我的 CCS 7.0.0在每次进行其他编译之后经常并且持续崩溃。 我看到有关该补丁的另一个讨论、我应用了上述补丁、但它没有帮助缓解我的问题。 任何帮助都很好,谢谢。

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

    嗯,没有太多具体的信息

    可能是堆栈溢出或"非法"存储器访问、例如超出范围的数组索引。 是否使用 FPU、如果是、则使用(主代码/中断)。 多少个中断以及优先级如何?

    我建议两个选项。 在硬故障处理程序中设置断点(可能使用一些辅助代码将其推进)、并在调试器中运行代码、直到出现"崩溃"。 然后、检查 SCB 寄存器以找出原因。 您可能需要映射文件将地址(在 SCB 寄存器中找到)推断为例程。

    第二个选项是使用调试输出对代码进行仪表化、并跟踪调试输出。 您最可能需要逐步缩小违规代码的范围。 您可以使用调试器的跟踪选项(如果可用)或免费的 UART。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请查看此帖子、尤其是第7项:
    e2e.ti.com/.../374640
    该帖子引用了此应用手册、其中提供了一些有关识别故障原因的良好信息。
    www.ti.com/.../spma043