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/CC1352P:远程调试 RTOS 中的应用程序代码

Guru**** 2952510 points

Other Parts Discussed in Thread: CC1352P

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/954280/ccs-cc1352p-debugging-application-code-in-rtos-remotely

器件型号:CC1352P

工具/软件:Code Composer Studio

我已成功设置 Code Composer Studio、以便使用 GDB 在 Gateworks 5910上调试 CC1352。 我使用 OpenOCD 通过以下配置文件和命令将映像刷写到芯片中:

openocd -f ./gw5910.cfg -c "program rfEasyLinkNp_CC1352P1_LAUNCHXL_tirtos_debug_gcc.out verify reset exit"

CAT gw5910.cfg
编号
# GW5910 CC1352P JTAG 接口映射
编号
# PAD_DISP0_DAT14_GPIO5_IO08 TMS GPIO-136
# PAD_DISP0_DAT15_GPIO5_IO09 TCK GPIO-137
# PAD_DISP0_DAT16_GPIO5_IO10 TDO GPIO-138
# PAD_DISP0_DAT17_GPIO5_IO11 TDI GPIO-139
编号
# PAD_DISP0_DAT23_GPIO5_IO17 RST# GPIO-145
# PAD_EIM_A25_GPIO5_IO02引导 GPIO-130
bindto 0.0.0.0
接口 IMX_GPIO
传输选择 JTAG
IMX_GPIO_PERIM_BASE 0x020ac000
IMX_GPIO_SPEED_COEFFS 100000 5.
IMX_GPIO_JTAG_nums 9 8 11 10
IMX_GPIO_trst_num 17.

适配器_kHz 20000
源[查找 target/ti_cc13x2.cfg]

JTAG_ntrst_delay 0
JTAG_ntrst_assert_width 0
adapter_nsrst_delay 0
adapter_nsrst_assert_width 0

RESET_CONFIG TRAST_ONLY

在 Code Composer Studio 中、我创建了一个新的调试配置作为 C/C++远程应用程序、在主选项卡中选择"手动远程调试启动器-选择其他"并选择"手动"、 在 Debugger 选项卡中、将 Connection 选项卡主机名指向我的 Gateworks 开发板:端口3333、这是 OpenOCD 正在侦听的内容。

我还指示 rfEasyLinkNp 项目使用 tirtos_cc13x2_cc26x2_debug_gcc 项目的调试构建、通过该构建、我能够在 rfEasyLinkNp.c 中进行步调试、一直到 BIOS_start(); 但是,在 tirtos 项目源文件中,我在 AtProcess.c 中设置的任何断点,如 AtProcess_processingLoop ()函数,都不会到达,并且程序也不会暂停。

是否可以使用远程 GDB 调试来调试此用户代码? 使用部署到 Launchpad 的相同代码、我能够单步执行代码的所有部分。

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

    我后来了解到、如果我在 Code Composer Studio 的 GDB 控制台中设置断点、这些断点会被命中。 显然、这与断点类型有关、当我双击一行时、断点类型显示为 S/W BP。 我在 Preferences 菜单中找不到任何选项来使断点显示为 C/C++ Line Breakpoint、这是我在 gdb 控制台中执行 break file:line 时得到的结果。 有什么想法我做了什么错?

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

    Derek、

    这是一个非常有趣的设置。  那么、您使用 GW5912来调试 CC1352?  

    我相信您正确的是、设置了错误的断点类型、即 CCS 软件断点、而不是使用 CDT 断点类型。   

    当一位同事向我指出这条线程时、我实际上对一些要尝试的事情做了很长的答复:

    https://e2e.ti.com/support/tools/ccs/f/81/t/831973?CCS-Possible-Solution-Workaround-for-CCS-Enable-C-C-breakpoint-For-GDB-use-

    如果您使用的是 CCS 工程、则调试器会默认使用 CCS 断点。  您可以通过控制台或断点视图设置 C/C++断点、但从编辑器中、它将使用默认值。  在此主题中、海报展示了如何解决此问题。

    此致、

    John

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

    哇! 感谢您的参与! 我查看了几篇论坛文章、这些文章引用了使用 makefile 工程而不是 CCS 工程以及各种其他内容。 此解决方案甚至无需重新启动 IDE 即可启用 C/C++断点上下文菜单!

    是的、我从 GW5910运行无线电、但 OpenOCD 绑定到它的 wlan0接口、因此我可以从功能更强大的主机桌面进行调试。 它看起来效果相当好、但我只是在学习如何进行嵌入式编程、因此这是一项挑战! 我希望、步进调试可以帮助我更轻松地浏览示例。

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

    Derek、

    听说您已启动并正在运行。

    此致、

    John