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.

[参考译文] LAUNCHXL2-570LC43:无法在 main()之前设置断点

Guru**** 2530900 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1160207/launchxl2-570lc43-cannot-set-breakpoints-before-main

器件型号:LAUNCHXL2-570LC43

我正在运行从 https://git.ti.com/git/hercules_examples/hercules_examples.git 下载的示例 Hercules 示例/Application/TMS570LC43x_PMU_Demo

当代码按预期运行和运行时,我无法在 main()之前的任何位置放置断点,例如_c_int00()中的断点。 断点窗口将这些断点显示为 HW 断点、并将操作显示为'Halt execution'、但断点从未命中。

我出了什么问题?

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

    将该示例导入到 CCS 11.1中:

    1. 只需双击 HL_SYS_STARTUP.c 中的一行即可设置断点、即 main 之前的代码
    2. 已启动调试会话
    3. 断点已命中

    上述操作在项目属性中勾选了"从先前会话恢复断点":

    在"Breakpoints"窗口中、断点是否显示为两个节拍、即根据以下工作情况启用?

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

    您好 Chester

    我已验证:

    1.我有与您相同的调试选项(请参阅随附的屏幕截图)

    2.使用双复选标记启用断点(文本框中有一个,圆形蓝色图标中有一个)

    但我仍然没有到达断点。

    它是否可以与您和我使用的 GEL 文件之间的差异有关?

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

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="64774" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1160207/launchxl2-570lc43-cannot-set-breakpoints-before-main/4362030 #4362030"]但我仍然没有遇到断点。

    断点显示在 resetEntry 和_c_int00符号上。 如果尝试在这些符号上设置断点、则会得到与您相同的症状。 即、Breakpoint 视图将其显示为已启用、但在启动调试会话时、仅在 main 停止:

    由于这些是程序的入口点、因此不要在符号上设置断点、而是在调试项目属性中取消勾选自动运行选项->"在程序加载或重新启动时":

    这样、启动调试程序时、会在入口暂停、我认为您需要这样做:

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

    非常感谢。 这对我也很有用。