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/RM46L852:调试器不会在 main 和断点停止

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/604878/ccs-rm46l852-debugger-does-not-stop-at-main-and-at-breakpoints

器件型号:RM46L852
主题中讨论的其他器件: HALCOGEN

工具/软件:Code Composer Studio

您好!

使用为 RM46L852生成的新 HALCoGen 项目、CCS 调试器的行为变得"不合理":它无法在 sys_startup.c 中的断点或 main 开始处停止。  与处理器状态相关的唯一活动按钮是"Terminate"和"Reset"。

我通过暗示看门狗复位和初始化时间(因此是 SYS_STARTUP 中的断点)、找到了几个有关这些症状的论坛主题。 我了解到、对于 Hercules MCU、内部 WD 默认处于非活动状态、TPS65381将无提示地到达并保持在安全状态而不复位 RM46、不是吗?

我发现一个线程"已停止"、表示"调试"选项卡必须可见。 在我的示例中,它是并在保持焦点的一行(标记为蓝色)和带有调试探针的第二行("TI XDS100v2... (运行)")。 仅当我意外地将焦点移到第二行时、"暂停"按钮才会激活。 暂停显示程序在 main()(sys_main.c 中的用户代码)末尾的无限循环中运行。 因此、它与防止到达 main 的看门狗无关。

我还发现 '"="">了 有关硬件故障的2181126 (我的电路板是在内部设计的、仍在测试中)、但这与我的情况也无关、因为我有一个经过大量编辑的旧 HALCoGen 项目、其中调试器的行为是合理的。

然后、我转到 Google 搜索论坛并找到 1306092、客户在该网站上发现、通过停用 CPU 自检(在 HALCoGen 的"安全初始化"选项卡上)、问题消失了。 这对我很有用。

现在、我想知道 CPU 自检是如何导致这种行为的(可能与安全相关)、以及 TI 是否计划对此进行改进。 (如果不将其视为错误、HALCoGen 中的警告将防止浪费时间。)

此致

《Rainald》

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

    CPU 自检运行逻辑 BIST、这会干扰 CPU 状态、包括调试逻辑;因此、您通过调试器设置的断点通过运行 LBIST 有效地"擦除"。 是的、这有点"不确定"、第一次看到它时、它让我失望了。
    -Anthony
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嗯、我希望不需要调试甚至更改 HALCoGen 生成的自检代码。 因此、我将仅针对生产代码将其打开。