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.

[参考译文] CC1352P:无法调试由 TI Clang 构建的工程

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1365254/cc1352p-can-not-debug-project-build-by-ti-clang

器件型号:CC1352P
主题中讨论的其他器件:Z-STACK

大家好!  

我使用 Zigbee IoT 设备原型、基于带有 CC1352芯片的 Z-Stack 库。 我的工作设置如下所示:  

我遇到以下问题:  

*如果项目是由 GCC 编译器构建的,则所有文件和调试工作都像一种魅力。   

*如果项目是由 Clang 编译器构建的,则调试不起作用。 以下是来自 OpenOCD 服务器端的输出:  

Open On-Chip Debugger 0.12.0
Licensed under GNU GPL v2
For bug reports, read
        openocd.org/.../bugs.html
Info : Listening on port 6663 for tcl connections
Info : Listening on port 4443 for telnet connections
Info : XDS110: connected
Info : XDS110: vid/pid = 0451/bef3
Info : XDS110: firmware version = 3.0.0.25
Info : XDS110: hardware version = 0x002b
Info : XDS110: connected to target via JTAG
Info : XDS110: TCK set to 2500 kHz
Info : clock speed 1000 kHz
Info : JTAG tap: cc13x2.jrc tap/device found: 0x3bb4102f (mfg: 0x017 (Texas Instruments), part: 0xbb41, ver: 0x3)
Info : JTAG tap: cc13x2.cpu enabled
Info : [cc13x2.cpu] Cortex-M4 r0p1 processor detected
Info : [cc13x2.cpu] target has 6 breakpoints, 4 watchpoints
Info : starting gdb server for cc13x2.cpu on 3333
Info : Listening on port 3333 for gdb connections
Info : accepting 'gdb' connection on tcp/3333
undefined debug reason 8 - target needs reset
Warn : Prefer GDB command "target extended-remote :3333" instead of "target remote :3333"
Info : JTAG tap: cc13x2.jrc tap/device found: 0x3bb4102f (mfg: 0x017 (Texas Instruments), part: 0xbb41, ver: 0x3)
Info : JTAG tap: cc13x2.cpu enabled
Warn : [cc13x2.cpu] Only resetting the Cortex-M core, use a reset-init event handler to reset any peripherals or configure hardware srst support.
[cc13x2.cpu] halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x00004a78 msp: 0x20013a00
Info : JTAG tap: cc13x2.jrc tap/device found: 0x3bb4102f (mfg: 0x017 (Texas Instruments), part: 0xbb41, ver: 0x3)
Info : JTAG tap: cc13x2.cpu enabled
Warn : [cc13x2.cpu] Only resetting the Cortex-M core, use a reset-init event handler to reset any peripherals or configure hardware srst support.
[cc13x2.cpu] halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x00004a78 msp: 0x20013a00, semihosting
Warn : keep_alive() was not invoked in the 1000 ms timelimit. GDB alive packet not sent! (1172 ms). Workaround: increase "set remotetimeout" in GDB
Info : JTAG tap: cc13x2.jrc tap/device found: 0x3bb4102f (mfg: 0x017 (Texas Instruments), part: 0xbb41, ver: 0x3)
Info : JTAG tap: cc13x2.cpu enabled
Warn : [cc13x2.cpu] Only resetting the Cortex-M core, use a reset-init event handler to reset any peripherals or configure hardware srst support.
[cc13x2.cpu] halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc, semihosting
Warn : keep_alive() was not invoked in the 1000 ms timelimit. GDB alive packet not sent! (1132 ms). Workaround: increase "set remotetimeout" in GDB
Info : Padding image section 0 at 0x0000616b with 1 bytes
Info : Flash write discontinued at 0x00006274, next section at 0x00057fa8
Warn : keep_alive() was not invoked in the 1000 ms timelimit. GDB alive packet not sent! (1613 ms). Workaround: increase "set remotetimeout" in GDB
Info : JTAG tap: cc13x2.jrc tap/device found: 0x3bb4102f (mfg: 0x017 (Texas Instruments), part: 0xbb41, ver: 0x3)
Info : JTAG tap: cc13x2.cpu enabled
Warn : [cc13x2.cpu] Only resetting the Cortex-M core, use a reset-init event handler to reset any peripherals or configure hardware srst support.
[cc13x2.cpu] halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x00004a78 msp: 0x20013a00, semihosting
Info : JTAG tap: cc13x2.jrc tap/device found: 0x3bb4102f (mfg: 0x017 (Texas Instruments), part: 0xbb41, ver: 0x3)
Info : JTAG tap: cc13x2.cpu enabled
Warn : [cc13x2.cpu] Only resetting the Cortex-M core, use a reset-init event handler to reset any peripherals or configure hardware srst support.
[cc13x2.cpu] halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x00004a78 msp: 0x20013a00, semihosting
Info : [cc13x2.cpu] only breakpoints of two bytes length supported
Error: can't add breakpoint: resource not available

在这两种情况下都使用了 ${CCS_INSTALL_ROOT}\tools\compiler\gcc-arm-none-eabi-9-2019-Q4-major\bin\arm-none-eabi-gdb.exe debugger。 TI Clang 似乎没有自己的调试器。  

指向此处-仅为 IAR 和 TI Clang 编译器提供的 ZStack 库、没有生成文件或任何其他构建脚本可使用 GCC 进行构建。

所以、结果有以下问题: 通过 TI Clang 编译器构建的项目是否甚至可以使用 OpenOCD 和某种形式的 GDB 进行调试? 如果否、正确的实现方式是什么? 也许可以为 GCC 工具集构建 ZStack?  

谢谢、Alexander。  

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

    尊敬的 Alexander:

    没有可用于 Z-Stack 项目的 GCC 选项。  我不熟悉 OpenOCD、在这方面无法提供帮助。  以往使用 IAR 或 CCS IDE 调试项目。

    此致、
    瑞安