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.

[参考译文] TM4C1299KCZAD:死机或被锁定、未编程、JTAG 链接正常

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1105170/tm4c1299kczad-dead-or-locked-not-programming-jtag-link-ok

器件型号:TM4C1299KCZAD
主题中讨论的其他器件: UNIFLASHSysConfig

您好!

我目前正在项目中使用 TM4C1299KCZAD、在将微控制器修改为该器件型号后、我能够成功地对微控制器进行编程并从 TIREx 运行 PWM LED 示例、 但是、在使用我自己项目的源代码进行编程后、我无法再与目标建立连接。 我已读取的 JTAG 引脚可能 会在程序运行期间被单独置位、并且 JTAG 接口不再可用。 因此、我尝试保持复位并为微控制器加电、同时保持复位保持在低电平、然后我执行了 JTAG 连接测试、情况良好、以下是日志:

---- [打印重置命令软件日志文件]-----------------

此实用程序选择了560/2xx 类产品。
此实用程序将加载程序'xds2xxu.out'。
库构建日期为"2021年1月31日"。
库构建时间为'19:18:41'。
库软件包版本为'9.3.0.00042'。
库组件版本为'35.0.0'。
控制器不使用可编程 FPGA。
控制器的版本号为"13"(0x0000000d)。
控制器的插入长度为"0"(0x00000000)。
此实用程序将尝试重置控制器。
此实用程序已成功重置控制器。

---- [打印重置命令硬件日志文件]-----------------

此仿真器不会创建复位日志文件。

---- [对 JTAG IR 执行完整性扫描测试]-----

此测试将使用64个32位字的块。
该测试将仅应用一次。

使用0xFFFFFFFF 进行测试。
扫描测试:1、跳过:0、失败:0
使用0x00000000执行测试。
扫描测试:2、跳过:0、失败:0
使用0xFE03E0E2执行测试。
扫描测试:3、跳过:0、失败:0
使用0x01FC1F1D 进行测试。
扫描测试:4、跳过:0、失败:0
使用0x5533CCAA 进行测试。
扫描测试:5、跳过:0、失败:0
使用0xAACC3355进行测试。
扫描测试:6、跳过:0、失败:0
所有值均已正确扫描。

JTAG IR 完整性扫描测试成功。

---- [在 JTAG DR 上执行完整性扫描测试]-----

此测试将使用64个32位字的块。
该测试将仅应用一次。

使用0xFFFFFFFF 进行测试。
扫描测试:1、跳过:0、失败:0
使用0x00000000执行测试。
扫描测试:2、跳过:0、失败:0
使用0xFE03E0E2执行测试。
扫描测试:3、跳过:0、失败:0
使用0x01FC1F1D 进行测试。
扫描测试:4、跳过:0、失败:0
使用0x5533CCAA 进行测试。
扫描测试:5、跳过:0、失败:0
使用0xAACC3355进行测试。
扫描测试:6、跳过:0、失败:0
所有值均已正确扫描。

JTAG DR 完整性扫描测试成功。

[结束:德州仪器 XDS2xx USB 调试探针]

如果我在复位保持高电平的情况下执行此测试、则此测试失败。

---- [打印重置命令软件日志文件]-----------------

此实用程序选择了560/2xx 类产品。
此实用程序将加载程序'xds2xxu.out'。
库构建日期为"2021年1月31日"。
库构建时间为'19:18:41'。
库软件包版本为'9.3.0.00042'。
库组件版本为'35.0.0'。
控制器不使用可编程 FPGA。
控制器的版本号为"13"(0x0000000d)。
控制器的插入长度为"0"(0x00000000)。
此实用程序将尝试重置控制器。
此实用程序已成功重置控制器。

---- [打印重置命令硬件日志文件]-----------------

此仿真器不会创建复位日志文件。

---- [发生了错误,该实用程序已中止]-----

此错误由 TI 的 USCIF 驱动程序或实用程序生成。

值为'-233'(0xffff17)。
标题为"SC_ERR_PATH_Broken (SC_ERR_PATH_COMPLETE")。

说明如下:
JTAG IR 和 DR 扫描路径不能循环位、它们可能会损坏。
尝试扫描 JTAG 扫描路径失败。
目标的 JTAG 扫描路径似乎已断开
卡在一个或卡在零的故障。

[结束:德州仪器 XDS2xx USB 调试探针]

 

假设微控制器已锁定是否正确? 我还针对不同 的 JTAG 时钟配置完成了此测试。

我还尝试使用了"SW mode"并再次测试了连接:


---- [打印重置命令硬件日志文件]-----------------

此仿真器不会创建复位日志文件。

---- [执行 SWD 模式完整性测试]-----

此测试将读取 IDCODE 寄存器1次。

IDCODE 寄存器的值为0x2ba01477。

SWD 模式完整性测试成功。

[结束:德州仪器 XDS2xx USB 调试探针]

我注意到 IDCODE 与数据表中的值不同: 0x4BA00477 (TM4C1299KCZAD 数据表中的221页)

我在 该论坛的其他主题中看到了、

e2e.ti.com/.../tm4c1294ncpdt-debug-port-unlock-using-uniflash

uniflash 用于解锁微控制器、但该选项不会出现在我的 Uniflash 版本(版本 6.2.0.3059)中。

此致、

努诺·拉莫斯

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

    我忘记提到、当我运行调试器时、会出现以下消息:

    连接到目标时出错:
    (错误-1170 @ 0x0)
    无法访问 DAP。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。
    (仿真包9.3.0.00042)

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

    您好!

      通常情况下、器件被锁定是因为您1。将 GPIO 的 JTAG 引脚重新用于 GPIO、2)您有意通过 BOOTCFG 寄存器禁用 JTAG、或者3)您在深度睡眠或休眠模式等低功耗模式下禁用所有时钟、而无需重新唤醒的机制。 在这种情况下、调试器无法再与目标同步、因为目标具有时钟。  请阅读此应用手册的第5.3.2节以解锁器件。 https://www.ti.com/lit/an/spma075/spma075.pdf

     根据 CCS 的安装位置、您可以在以下位置找到 dbgjtag 命令。  

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

    您好、Charles、

    控制器确实已锁定! 我使用了这个过程、它工作正常、我能够再次对目标进行编程。

    问题是使用 SysConfig 的配置错误、我无意中将 JTAG 引脚设置为 GPIO。。。

    非常感谢!