主题中讨论的其他器件: UNIFLASH、 HALCOGEN
工具/软件:Code Composer Studio
大家好。
好的、为了深入了解、我们将 Hercules 安全 MCU 开发 TMS570LC4357与 CCS7.3环境结合使用。 最近、我们定义了与外部终端的基本 SCI/LIN 接口通信、以及 FreeRTOS。 在 TMS 器件的其中一个配置周期中、我们修改了 PLL 配置、以实现更高的工作频率。 据我们所知、默认频率为75MHz、ARM CortexR5的最大频率为300MHz。 我们将其升级至250MHz、希望我们具有更高的计时精度。
因此、在应用此配置后、我们无法对器件进行重新编程。 点击"Run/Debug"后、将出现以下错误:
DAP:连接到目标时出错:(错误-1170 @ 0x0)无法访问 DAP。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包7.0.48.0)
在阅读 TI 论坛之后、我们得出结论、我们的 MCU 闪存正在处理最新下载的程序、但频率更高、配置无效或执行使我们无法连接的指令。 每当我们连接 TMS570板并连接一个串行端口时、我们可以看到 D11 LED (XDS100V2 SCI TX)点亮。 因此、程序被加载、但由于一个错误的指令、我们无法连接到内核并擦除闪存。
我们已经看到这个问题不一定常见、但至少它是已知的、但我们无法使用上述任何步骤来正确擦除 MCU 闪存。
¿我们尝试了哪些解决方案?
1) 1)最推荐的解决方案是通过单击"Launch Selected Configuration"来打开目标配置.ccxml 文件。 然后、我们显示所有内核 AD 都连接到 Probe/IcePick 和 Probe/DAP、尽管后者要求我们在 CCS 环境中与"retry (重试)"按钮(几百次)同时按下"Reset (重置)"按钮。 现在、我们成功连接到了两者。 此过程中的下一个(也是最后一个)步骤是连接到探头/CortexR5本身并执行运行/复位/CPU 复位或擦除闪存、希望从 MCU 的存储器中擦除引起问题的指令。 但我们无法连接到内核并执行此类操作(甚至连按 TMS 上的"Reset"和 CCS 中的"Retry "都没有几百次、希望我们在程序执行之前连接)。
2) 2)使用与之前相同的过程、我们尝试过通过存储器浏览器来探索 TMS 的存储器、但我们无法读取存储器、因为每当我们这么做时、CCS 环境都会过载。 这意味着、每当我们打开存储器浏览器时、CCS 会崩溃、尽管不会立即发生。 需要一段时间、但似乎无法在不使 CCS 崩溃的情况下读取存储器。
3) 3)我们尝试使用 UniFlash 擦除闪存、获得了与之前所示相同的错误。 使用 UniFlash 读取目标存储器的问题与 CCS 存储器浏览器问题类似、加载时间很长、无法读取存储器。
4)普通复位、显然效果不好。
到目前为止、我们还不知道如何 解锁 MCU、因为我们无法连接到 R5内核。 我们已经在网上看到了一些非常严重的解决方案、但我们更喜欢在做任何其他事情之前咨询。
您可以随意推荐或询问我们已经尝试过的解决方案、因为到目前为止、我们担心我们可能忽略了一些问题。
非常感谢你能抽出时间。
祝你度过美好的一天!