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/TM4C1230C3PM:调试错误

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/687574/ccs-tm4c1230c3pm-debugging-errors

器件型号:TM4C1230C3PM

工具/软件:Code Composer Studio

您好!

我正在使用标题中所示的 MCU 和 CCS v7.2。

当我的代码到达用于评估和更新计时器服务的 while (1)循环时、我处于调试会话中。

while (1){

TMR_SRV_routine ();

如果我反复"步越"此代码(F6)、现在出现问题。 但是、当我使用"Resume"功能(F8)时、我会遇到错误:

Cortex_M4_0:无法运行目标 CPU:(错误-1268 @ 0x1090001)器件锁定在硬件故障或 NMI 中。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包6.0.628.3)  

几秒钟后、我还得到:

Cortex_M4_0:无法运行目标 CPU:(错误-1268 @ 0x1090001)器件锁定在硬件故障或 NMI 中。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包6.0.628.3)

我应该提到、我不熟悉 CCS、很可能错过了一些小问题、但我已经有一段时间一直在跟踪此错误。 如果有任何建议,将不胜感激。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉、第二个故障不应与第一个故障重复、其内容应为:

    Cortex_M4_0:JTAG 通信错误:(错误-1170 @ 0x0)无法访问 DAP。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包6.0.628.3)
    Cortex_M4_0:在断开连接之前无法从目标中删除调试状态。 程序存储器中仍可能嵌入了断点运算代码。 建议您在连接之前重置仿真器、并在继续调试之前重新加载程序
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    第一个误差是第二个误差的触发。 换句话说、正在运行的代码会导致器件锁定在硬件故障或非屏蔽中断中、并且无法恢复或由 JTAG 调试探针控制。

    导致这种情况的代码原因差别很大:错误的中断服务例程可能无法正确返回(由于步进操作看起来正常)、 嵌套的中断太多或发生的中断太频繁、因此它们可能会导致堆栈溢出(只有在代码自由运行时才会证明这一点)、以及其他中断。

    在这种情况下,您可以使用 ARM 高级功能(工具菜单-- > ARM 高级功能)并启用矢量捕获断点-它们将在第一次出现任何异常时中断器件执行、这将帮助您验证当时的系统状态。

    要进一步分析您的代码、您必须在 TM4C 论坛上咨询器件专家。

    希望这对您有所帮助、
    拉斐尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Desouza、

    我的问题是使用了错误的调试器配置。 错误的是擦除闪存、然后尝试重新加载旧代码、然后尝试写入 JTAG 引脚。

    感谢您对 ARM 高级功能的建议、我 将在未来记住该工具。