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.

[参考译文] TMS320F28379D:TMS320F28379D:停止目标 CPU 时出现问题:(错误–1156 @ 0x0)

Guru**** 2943430 points

Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1656357/tms320f28379d-tms320f28379d-trouble-halting-target-cpu-error--1156-0x0

部件号: TMS320F28379D
Thread 中讨论的其他器件: UNIFLASH

你好,我昨晚做了一个类似的票与这个问题,但我认为这可能是根本原因. 当在连接到 XDS100v3 的情况下尝试在内核 1 上进行调试时、我一直收到以下错误:“(错误–1156 @ 0x0)器件可能在低功耗模式下运行。 你想让它退出这个模式吗?“

我尝试了几个 GEL 脚本、在给定控制台输出的情况下、脚本似乎成功运行、并在仅使用符号进行调试时检查寄存器。 但是、我认为该驱动器在这一步后仍在以某种方式重新锁定自身。 我正在使用 CCS 10.4.0、我已经仔细检查了设置、以确保在连接或编程后没有任何关于复位的内容。 但我在解锁两个内核后仍然收到此错误。

此外、我还使用 Uniflash 4.5.0.2056 在以前处于此状态时恢复驱动器。 但是、在尝试使用生成的批处理文件时、uniflash 也会导致同样的低功耗错误。 查看错误发生之前它正在运行的操作、它似乎开始在内核 2 中初始化内容、然后在抛出错误之前开始在 CPU2_CLA1 中初始化内容。 我非常希望得到这方面的帮助。 我只在连接到调试屏幕时选择内核 1、所以我也很奇怪、为什么甚至触摸 CPU2。 提前感谢您。

...........
    映射寄存器:C28xx_CPU2 - XintRegs
    映射寄存器:C28xx_CPU2 — 隐藏
    构建搜索数据:C28xx_CPU2
    应用虚拟组:C28xx_CPU2 - VCU
    执行启动脚本:C28xx_CPU2
    正在初始化:CPU2_CLA1
    映射寄存器:CPU2_CLA1 — 内核寄存器
    映射寄存器:CPU2_CLA1 - CPU2_CLA1
    映射寄存器:CPU2_CLA1 — 隐藏
    构建搜索数据:CPU2_CLA1
    执行启动脚本:CPU2_CLA1
正在连接...
错误:C28xx_CPU1:停止目标 CPU 时出现问题:(错误–1156 @ 0x0)..........

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

    您好:

    这些是 针对多核器件执行的启动脚本、因为 UniFlash 允许您对 CPU1 和 CPU2 子系统进行调试/编程。 在这种情况下、调试器会映射寄存器、应用脚本文件 (GEL) 并加载 CPU2 及其 CLA (CPU2_CLA1) 的符号。  当您尝试连接到 CPU1 时会发生错误。

    此致、

    马特

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

    是的、我已经将这些调试脚本设置为解锁两个内核、并且在我检查寄存器时两个内核都已解锁、但在尝试调试时仍然收到此错误。 我说我连接到 CPU1 是的、但此错误似乎可能是关于 CPU2_CLA1 已停止(我在当前工程中没有使用任一 CLA)。 但我未选中设置以保留断点、当我成功连接时、没有设置断点。  

    我想知道为什么这个低功耗问题仍然出现、因为我无法调试器件。 我只能加载符号以解锁驱动器、但无法将任何新代码上传到设备。 我认为我的 GEL 脚本在控制台输出中成功解锁、它的作用似乎就像在解锁发生后仍然被锁定一样。

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

    您好:

    您能否将器件置于等待引导状态? 这将使器件在复位时在引导 ROM(固有不安全的存储器)中旋转。 因此、您将能够连接到器件、而无需 ECSL 保护中断 JTAG。  

    此致、

    马特

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

    添加内容:我确认可以在将 器件置于等待引导状态并禁用所有连接复位选项后对闪存进行编程。

    此致、

    马特

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

    您好、我在不进入等待引导模式的情况下、使用不同的解决方案解决了我最终遇到的问题。 我想说什么呢?  似乎这与我执行链接指针还是对密码编程的顺序有关。 它仅在我单击了程序链接指针(它没有更改值)、编程密码、然后再次编程链接指针以获得我实际需要的值、然后实际更改了值时才起作用、我必须按此顺序对两个内核执行此操作。 只有在这之后,我能够像平常一样使用驱动器。 你知道为什么会这样吗? 即使在内核 1 上的链路指针步骤甚至程序密码步骤期间、我也会不断收到多个错误:

    “C28xx_CPU1:闪存操作期间发生错误:没有内核与模式 CPU2 匹配“
    “执行 PLL 配置算法时出错。 操作已取消。 (0xAA55AA55)“
    “闪存编程期间出错(闪存算法返回错误代码)。 无法执行程序算法。 操作可以...“
    “请确保您正在编程的存储器位置尚未编程“
    “在安全操作过程中遇到错误。 操作已取消。“

    尽管如此、即使在我执行程序链接指针和程序密码步骤时发生了这些错误、但在这两种情况下都出现了这些错误、操作表示无法成功、但我看到了寄存器的值变化、最终也看到了 LinkPointer 的变化。 但在调试窗口中使用持续刷新运行操作时查看寄存器、我可以看到 LinkPointer 最初获取默认值并解锁驱动器、但随后内存错误并不断更改、但最终内存稳定。 在我看来、由于某种原因、某种东西一直在后台运行、但我不确定是什么。 如果您进一步了解为什么在 CCS 10.4.0 的片上闪存中进行这些设置、我将不胜感激。 谢谢你。  

    此外、我还使用 XDS100v3

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

    您好:

    鉴于 CCS v10.4 已使用 5 年且 TI 不再受支持、此问题中可能会出现 CCS 或闪存插件本身中出现的错误。 我无法准确说明自那时以来所做的更改、CCS 版本说明中可能有更多提示。

    只有当我点击了程序链接指针(它没有更改值)、然后执行了程序密码、然后再次执行了程序链接指针以获得我实际需要的值、然后实际更改了值时、我才会按此顺序对两个内核执行此操作。

    这与您以前的编程流程相比如何?

    此致、

    马特