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/AM3352:尝试使用 Segger J-Link 支持 v6.16.7.0来调试 AM3352时、Ubuntu 16.04下的 CCS 7.2.0.00013与 SIGABRT 崩溃

Guru**** 2589280 points
Other Parts Discussed in Thread: SEGGER, AM3352, CCSTUDIO, TM4C1294NCPDT

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/610504/ccs-am3352-ccs-7-2-0-00013-under-ubuntu-16-04-crashes-with-sigabrt-when-attempt-to-use-segger-j-link-support-v6-16-7-0-to-debug-an-am3352

器件型号:AM3352
主题中讨论的其他器件:SEGGERCCStudioTM4C1294NCPDT

工具/软件:Code Composer Studio

使用  SEGGER J-Link 支持(Linux) 6.16.7.0更新了 Ubuntu 16.04下的 CCS 7.2.0.00013安装、以测试 CCS/AM3358中问题的修复方法:使用 J-Link 仿真器时 AM335x EVM 连接失败。 但是、当为与 Segger J-Link 连接的 AM3352启动调试会话时、CCS 会反复与 SIGABRT 崩溃。 不会生成崩溃转储日志。

当 Linux 应用程序调用 abort()函数时,将发生 SIGABRT。 通过将本机 Eclipse 调试器连接到 CCStudio 进程并在 abort()上设置断点, 调用 abort()点处的 CCStudio 堆栈回溯如下:

这表明 JLINK2GTIAdapter.DVR 中的 GTI_GET_TARGET_PROPERTIES 函数正在调用 ABORT(),这会导致 CCS 在断言失败后退出。 不确定导致断言失败的原因。

崩溃似乎是尝试在 Linux 下将 Segger J-Link 与 AM3352一起使用的组合、因为:

a)在  Ubuntu 16.04下运行且支持 Segger J-Link 的 CCS 7.2.0.00013 v6.16.7.0在尝试使用 Segger J-Link 调试 AM3352时崩溃。

b) CCS 7.2.0.00013支持 Segger J-Link v6.16.7.0、在 Windows 10下运行、能够使用 Segger J-Link 成功调试 AM3352。

c) CCS 7.2.0.00013支持 Segger J-Link v6.16.7.0、在 Ubuntu 16.04下运行、能够使用 Segger J-Link 成功调试 TM4C1294NCPDT。

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

    切斯特、

    有趣的是、我能够连接和使用 CCSv7.2.0上的 Jlink 和原始6.14.0.e -作为 admin 安装并作为 admin 运行。 (忽略下面屏幕截图上的标题;实际上是7.2.0)

    但更有趣的是、安装更新的6.16.7.0版不会改变结果。 我仍然可以连接到目标。

     

    我刚才找到的一个详细信息(并归档为错误号 CCDSK-2726)是、当 CCSv7.2.0作为 sudo 安装时、它会留下大量目录、而所有用户都没有执行权限、因此会导致各种问题。

    您的案例中是否会发生这种情况?

    此致、

    拉斐尔

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

    [引用 user="desouza">我刚才找到的一个详细信息(并归档为错误编号 CCDSK-2726)是、当 CCSv7.2.0作为 sudo 安装时、它会留下大量目录、所有用户都没有执行权限、因此会导致各种问题。我从我的用户帐户安装了 CCSv7.2.0、 安装 Segger J-Link 支持 v6.16.7.0更新时、CCS 从我的用户帐户运行。

    因此、不要认为权限是我失败的原因、但下次访问 PC 时将重新检查。

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

    您好!  

    您是否能够找出问题?  我的连接也有问题。

    Kelsey

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

    您是否能够确定问题?

    尚未解决。

    [引用 user="Kelsey Morgan "] 我在连接时也遇到问题。 CCS 是否与 SIGABRT 崩溃、或者症状是否不同?

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

    症状不同。  我们尝试与自己的评估板建立连接、还尝试了 Olimex AM3352 SOM EVB 修订版 D  

    https://www.olimex.com/Products/SOM/AM3352/AM3352-SOM-EVB/open-source-hardware 

    我还按照这些说明重新安装了 J-Link 软件、并将 CCS 更新为最新版本。  

    https://www.segger.com/products/debug-probes/j-link/technology/ides/ti-code-composer/ 

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

    [报价用户="Kelsey Morgan ">症状不同。您是否能够提供有关症状的更多详细信息?

    [引用用户="Kelsey Morgan ]\n 我们尝试与自己的评估板建立连接、并尝试使用 Olimex AM3352 SOM EVB 修订版 D。 [/引用]我实际上使用了 Olimex AM3352 SOM EVB 进行 Segger J-Link 测试。 在 Windows 下成功、而在 Linux 下 CCS 崩溃。

    如果您不知道、Olimex AM3352 SOM EVB 具有一 个20引脚0.10英寸 JTAG 连接器、但实际上是通过 紧凑型 TI 20引脚(CTI)连接器的引脚连接的。

    要将 Olimex AM3352 SOM EVB 上的 JTAG 连接到 Segger J-Link、必须使用适配器在以下之间进行转换:

    a) Segger J-Link 20引脚 0.10" ARM 20引脚引脚排列。

    b) Olimex AM3352 SOM EVB 20引脚 0.0" 紧凑型 TI 20引脚(CTI)引脚排列。

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

    但更有趣的是,安装更新版本6.16.7.0并不会改变结果。 我仍然可以连接到目标。

    经过进一步调查、CCS 崩溃对正在调试的程序很敏感。 当我发现碰撞正在使用时:

    - Ubuntu 16.04

    - CCS 7.2.0.00013

    - SEGGER J-Link 支持(Linux) 6.16.7.0
    -与 Segger J-Link 连接的 AM3352

    -使用 GNU arm v6.3.1编译器编译的程序,使用 Semihost 支持

    如果改为使用通过 TI ARM v17.9.3.LTS 编译器编译的程序、则 CCS 调试器不会崩溃。

    我附加了使用 GNU ARM 编译器编译的示例程序、这会导致我的 CCS 在启动调试会话时崩溃。 该程序应在 BeagleBone Black 上运行(我使用的是与 BeagleBone_Black 板 GEL 脚本兼容的定制 AM3352板)。

    e2e.ti.com/.../2781.AM3352_5F00_gcc_5F00_hello.zip

    在 zip 文件中、还有:

    1) 1)导致崩溃的调试服务器日志的 debug_server.log、最终结果为:

    0x7FA34B58F700 6760 3 COM_DBG_IF R:19CoBreakpointManager::::OnBreakpointHit()
    0x7FA34B58F700 6760 3 CortxA8 GTI C:GTI_GET_TARGET_PROPERTIES (0x00007FA3E42B28B0、0x00000006)
    0x7FA34B58700 GTI:0x7FA81741发生了向/home/mr_halfword/.ti/ccs720/0/dmp 写入的崩溃转储文件 

    2) 0c3312bb-714d-60f7-549280-672b77db.dmp、这是崩溃转储文件。

    当 CCS 在崩溃后重新启动时、不会显示崩溃报告对话框、但在看到调试服务器日志的输出后手动找到崩溃转储文件。

    是否可以使用随附的示例程序重复 CCS 崩溃?

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

    感谢您发送测试包、对于延迟、请道歉;事情已经很忙了。

    我可以在使用您发送的代码时重现崩溃、但总的来说、此版本的 Segger 驱动程序似乎具有更广泛的不稳定性。 例如、当我在将 Segger 插入未通电的 BeagleBone 的情况下启动 CCS 时、CCS 也会挂起-它可能会检测到电源故障、但绝不会放弃尝试连接。

    我将跟踪 Segger 在这方面可能发生的情况、因为它看起来不像调试服务器或其他 TI 组件的问题。

    我将向该主题汇报。

    给您带来的不便、我深表歉意、
    拉斐尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="desouza)]我将跟踪 Segger 在这方面可能发生的情况,因为它看起来不像调试服务器或其他 TI 组件的问题。 [/引述]感谢您查看此内容。 这一点没有紧迫性、其他调试探针也是如此。

    SEGGER J-Link 支持(Linux) 6.18.0.0刚刚发布、但该更新仍会发生崩溃。