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.

[参考译文] TM4C123GH6PM:CCS Theia 调试断点不起作用

Guru**** 2551110 points
Other Parts Discussed in Thread: EK-TM4C123GXL, TM4C123GH6PM

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1542464/tm4c123gh6pm-ccs-theia-debug-breakpoints-do-not-work

器件型号:TM4C123GH6PM
Thread 中讨论的其他器件:EK-TM4C123GXL

工具/软件:

您好、  

我最近安装了最新版本的 CCS Theia。 这是我第一次使用基于 VS Code 的 CCS、调试有问题。 我为 EK-TM4C123GXL 电路板构建了示例程序“hello",“,它、它似乎可以正常运行、但是当我启动调试会话并尝试在 hello.c 中的某个位置启用断点时、它不起作用、并收到消息“No code is associated with (project directory)、line xxx in any loaded symbols“。 我尝试在文件 boot_cortex_m.c 中启用断点、结果相同。 我使用该工程的“Debug(调试)“配置。

可能有用的信息:

我将使用 EK-TM4C123GXL(移除了主 UC 并拆分了 JTAG 线路)作为调试器/编程器。

当我点击“Project Properties“窗口底部的“Debug"时“时、无论我是否正在运行调试会话、都会收到消息“Cannot read properties of undefined (reading 'name')“。

调试会话启动后、在调用栈面板中会看到对 boot_cortex_m.c 文件的引用。 但是、此文件的目录默认为以'E:\CVS\Jenkins\workspace\...开头的目录 “直到我手动更改。 但是、这不能解决问题。 我不知道这是什么。 在我的 PC 上、E:\驱动器是 DVD 驱动器、它是空的! 此处未安装任何内容。

希望得到任何帮助! 谢谢你。

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

    您好、

    ]我启动调试会话并尝试在 hello.c 中的某个位置启用断点、它不起作用、然后收到消息“No code is associated with (project directory)、line xxx in any loaded symbols“。 [/报价]

    您是如何加载原始 hello 图像的? 您是否加载了 hello.out? 如果加载 hello.out、则它包含用于调试的符号。 但是、如果加载 hello.bin 文件、则其中没有符号。 或者、如果您已关闭电路板电源并再次重新连接到目标以继续调试、则需要通过转到 th Run->Load->Load Symbols...来重新调用符号 然后选择 hell.out 文件。 这仅加载符号、不会重新加载程序图像。 加载符号后、您可以在程序行号的左侧放置断点。 请参阅下面的示例、其中 放置了一个红点(如果您在此处放置断点)。  

    单击“项目属性“窗口底部的“调试“时、无论是否正在运行调试会话、都会收到消息“Cannot read properties of undefined (reading 'name')“。

    在 THREADS 下方的左侧、您是否会看到 Cortex_M4_0 已断开连接、暂停或正在运行? 如果该引脚断开连接、则表示调试器尚未连接到目标。 您需要右键点击处理器并连接目标。 如果您成功连接到目标、则状态应首先更改为已停止。 如果您尚未加载程序、则可以加载 hello.out 或重新加载符号(如果您之前已将二进制文件加载到闪存中)。 如果您运行该程序、则状态将更改为“正在运行“。  

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

    感谢您的答复。

    您是如何加载原始的 hello 图像的? 您是否加载了 hello.out?

    当我点击“Debug Project“或“Start Debugging“时、它会自动加载程序。 如果其中包含调试符号、我假设它将加载 hello.out。

    加载符号后、您可以在程序行号的左侧放置断点。

    在调试会话 暂停的情况下、我选择了 Run -> Load -> Load Symbols、然后从 Debug 文件夹中选择“hello.out"。“。 问题仍然存在。 我使用“Add Symbols“(添加符号)而非“Load Symbols“(加载符号)尝试实现相同操作。 我在 Debug Output:  


    Breakpoint Manager:一个或多个断点在目标停止之前不会重定位到新的符号位置。

    所以,我暂停目标,再次启动它,问题仍然存在。

    在 THREADS 下方的左侧、您是否看到 Cortex-M4 0 已断开连接或暂停或正在运行?

    当我启动调试会话时、除了 Cortex_M4_0 之外、右侧会显示 Halted。 我可以使用“继续“箭头开始运行程序、并且可以通过按“暂停“按钮停止程序。 当程序运行时、我可以看到电路板上的蓝色 LED 闪烁、点击“Pause"时“时停止闪烁。

    其他一些可能相关的东西:当我第一次创建这个项目时,它根本不会编译。 首先、它说的是“工程是使用尚未安装的编译器创建的“。 我必须将编译器从“v17.12.2.LTS"更“更改为“TI Clang v4.0.3.LTS“。 接下来、它找不到任何库文件。 我必须手动编辑名为“COM_TI_TM4C_INCLUDE_PATH"的“的变量、以将其指向 Tivawarning_C_Series 文件夹。 之后才会编译、但会发出几条有关已编译程序和库目标文件之间数据类型 wchar 不匹配的警告。 总之,它似乎不是“开箱即用“的正常工作。

    谢谢你

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

    尊敬的 Thomas:

      

      对于 Tiva 处理器、 请使用 TI Arm 编译器。 默认情况下、CCS20 不安装 TI Arm 编译器、而仅安装 Clang。 要安装 最新的 TI Arm 编译器、请从 https://www.ti.com/tool/ARM-CGT 下载。 下载并安装后、通过转到设置、确保 CCS20 自动检测到安装位置的路径。 请参阅左下方设置图标上的下图并更新查找路径。 您也可以观看此 CCS20 视频培训。  https://www.youtube.com/watch?v=1jkpPGcbxxA。话虽如此、如果您习惯了基于 Eclipse 的 CCS12 或更早的版本、并且无意对基于 Theia 的 CCS20 进行一些学习、那么我建议您改用 CCS12 版本。 对于我自己来说,我仍然在日常工作中使用 CCS12。 我可以保证、如果您使用 CCS12、每个示例都能在开箱即用的情况下运行、无需修改。 您可以从 https://www.ti.com/tool/download/CCSTUDIO/12.8.1 下载基于 Eclipse 的最新 CCS12.8。 您可以根据需要使用 CCS20。 只是您需要让 CCS20 检测 TI Arm 编译器路径。 TivaWare 库未针对 Clang 构建、如果是、您会遇到这些错误/警告。 因此、请仅使用 TI-Arm 编译器以获得开箱即用体验。  

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

    很有道理。 我将尝试安装正确的编译器、然后返回以将问题标记为已解决。 这很令人困惑、因为在 Resource Explorer 中、 如果选择 EK-TM4C123GXL 或 TM4C123GH6PM 作为器件、除非将编译器筛选器选择为“CSS - TI Arm Clang Compiler“、否则找不到结果。

    如果我选择切换回基于 Eclipse 的 CCS、它是否仍然受支持? 我认为只支持最新版本。

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

    尊敬的 Thomas:

     是的、完全支持 CCS12。