主题中讨论的其他器件:SEGGER
工具与软件:
CCS 10.4.0.00006、当我们最初刷写最新版本的软件时、FMPRE4至 FMPRE15全部设置为0。 看看它与先前版本的差异、我们的代码没有什么可以清除这些寄存器。 此时无法对该器件进行重新编程。 使用 Segger J-Link 和 Flasher JTAG 接口。
我有一个 TI JTAG 接口能够解锁这些 MPU、但这在生产中是不可行的。
它肯定闻起来像是 CCS 或 Segger 驱动程序中的错误。
谢谢、Doug。
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 10.4.0.00006、当我们最初刷写最新版本的软件时、FMPRE4至 FMPRE15全部设置为0。 看看它与先前版本的差异、我们的代码没有什么可以清除这些寄存器。 此时无法对该器件进行重新编程。 使用 Segger J-Link 和 Flasher JTAG 接口。
我有一个 TI JTAG 接口能够解锁这些 MPU、但这在生产中是不可行的。
它肯定闻起来像是 CCS 或 Segger 驱动程序中的错误。
谢谢、Doug。
命令行: "ps C:\ti\ccs1011\ccs\ccs_base\common\uscif>.\dbgjtag.exe -f@xdf200 -Y unlock、mode=Tiva"
它第一次工作、但失败了、因为它没有检测到 Vcc。 我想我已经解决了连接问题、但这次运行它时收到错误消息"the -f option was used、bboard config file was not found (使用了-f 选项、但是找不到板载配置文件或缺少读取权限)。 它的名称是:"xdf200.i"
我已经扫描了整个\TI 目录、没有名为"xdf200.i"的文件(没有名为 xdf200.*的文件)。
提供帮助。
我创建了一个新的工作区、并导入了有问题的项目、并将 JTAG 探针设置为 XDS200。 尝试刷新内存时出现以下错误:
连接到目标时出错:
(错误-1170 @ 0x0)
无法访问 DAP。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电、并/或尝试更可靠的 JTAG 设置(例如、降低 TCLK)。
(仿真包9.4.0.00129)
---
然后、我单击了 XDS200的"Verify"(验证)按钮、得到以下结果:
[开始]
执行命令:
%CCS_BASE%/common/uscif/dbgjtag -f %boarddatfile>-rv -o -S 完整性
[结果]
--- [打印主板配置路径名]--------------------------------------------------------
C:\Users\Doug\AppData\Local\TEXASI~1\CCS\
ccs1011\0\0\BrdBat\testBoard.dat
--- [打印重置命令软件日志文件]--------------------------------------------------------
此实用程序已选择了一个560/2xx 类产品。
该实用程序将加载程序"xds2xxu.out"。
库构建日期为"2021年6月25日"。
库构建时间为"16:23:59"。
库软件包版本为"9.4.0.00129"。
库组件版本为"35.35.35.5.0.0"。
控制器不使用可编程 FPGA。
控制器的版本号为"13"(0x0000000d)。
控制器的插入长度为"0"(0x00000000)。
此实用程序将尝试重置控制器。
此实用程序已成功重置控制器。
--- [打印重置命令硬件日志文件]--------------------------------------------------------
此仿真器不会创建复位日志文件。
--- [发生错误且此实用程序已中止]--------
此错误是由 TI 的 USCIF 驱动程序或实用程序产生的。
值为'-233'(0xffffff17)。
标题为"SC_ERR_PATH_BROKed"。
说明如下:
JTAG IR 和 DR 扫描路径不能循环位、这些位可能已损坏。
尝试扫描 JTAG 扫描路径失败。
目标器件的 JTAG 扫描路径似乎已损坏
卡在零故障下的通道。
[结束]
我尝试对一个新的未编程电路板进行编程、但出现了同样的错误。 板使用 Segger 接口编程正常。 问题未仅局限于一块电路板上。 现场有数千个这样的板、任何已通过版本8软件编程的板都可以正常运行、但无法重新编程。
请注意、根据 SPMA075、JTAG 接口只需要4条线路、某些示例中显示了这4条线路、但某些示例显示也连接了 RST_N;它没有连接到我们的电路板上、这是否有必要?
谢谢、Doug
现场有数千块这样的主板、任何已经过版本8软件编程的主板运行良好、但无法重新编程
如果您有数千块电路板无法重新编程、则我认为这不是 MCU 问题。 为什么不选择这些板之一、对像闪烁这样的简单项目进行编程呢? 您有什么问题? 如果尝试使用 dbgjtag.exe 解锁器件、则必须使用受支持的调试探针(如 XDS200)。 不能将 dbgjtag.exe 与 Segger Jlink 一起使用。
[报价 userid="333787" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1414355/tm4c1231h6pm-flash-program-disable-registers-being-set-to-0-after-first-load-of-new-rev-of-software-that-s-been-working-fine-for-10-years/5439292 #5439292"]请注意、根据 SPMA075、JTAG 接口只需要4条线路、某些示例中显示了这4条线路、但某些示例显示也连接了 RST_N;它没有连接到我们的电路板上、这是否有必要?
[报价]您不需要 RST_N
好的、进度。 我在 JTAG 接口中发现一根损坏的线。 所以我用 XDS200对锁定的开发板之一重新编程、结果显示以下错误:
Cortex_M4_0:文件加载程序:验证失败:地址0x00000000的值不匹配请验证目标和内存映射。
我运行了解锁例程、该例程成功了、然后尝试了使用 XDS200进行编程、也成功了。 尝试再次对其编程也成功、因此 Segger 接口似乎出现了错误。
让我们将其称为已解决问题、然后我将向 Segger 提交问题单。
再次感谢 Charles。