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.

[参考译文] DM385:调试 M3内核

Guru**** 2555630 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/623628/dm385-debugging-m3-cores

器件型号:DM385
主题中讨论的其他器件:DM388

我们正在尝试使用运行 IPNC 应用程序(RDK 5.2)的388 CSK 上的 CCS 进行开发、该应用程序使用来自通过以太网连接到 CSK 开发板的 Ubuntu 计算机的 RSE。  虽然我们可以使用 gdb 调试 A8 Linux 系统上运行的代码、但我们如何调试在 Cortex M3协处理器上运行的代码?  我想回顾一下、在某处、这需要专用硬件;这是真的吗?  如果是、是什么?

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

    尊敬的 John:

    然而、很少有电路板需要外部 JTAG、DM388 CSK (RDK 3.9.1)不需要任何外部 JTAG 来调试 M3内核、因为它具有 板载 XDS100 JTAG 仿真器。 JTAG 和 UART、或通过 Micro USB 连接器(CSK 板上的标签:调试)。 请遵循 DM38x 的用户指南、该用户指南应包含有关 CCS 要求的信息。

    谢谢、此致、

    Vishwanath Patil

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很高兴知道我们不需要额外的硬件、但这并不是我的问题的核心。 processors.wiki.ti.com/.../Linux_Debug_in_CCSv5中概述 的运行模式调试过程似乎仅适用于 A8上 Linux 下运行的代码;M3上的 Bios6中运行的代码是什么? 调试过程是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    有关如何使用 CCS for DM38x 进行调试设置的更多信息、请参阅此文档。  

      ,第14.1节,用于初始设置。 使用 TI814x.ccxml 目标配置并选择 XDS100 JTAG。 启动选定配置时、您将看到所有可用内核的列表。 从 IPNC RDK 加载固件后,您可以连接到内核(M3VPSS 或 M3Video)。 可以加载偶数符号(.map 文件)以追溯到代码。

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

    这些指令有两个问题:

    1. 他们说使用 Spectrum Digital XDS560V2 STM USB 仿真器、但该板附带 Spectrum Digital XDS100V2 USB 调试探针;使用后者、我可以测试连接并获得通过结果。
    2. 他们建议选择 TI814x 作为电路板类型、这显然是不正确的、并且没有与 CSK 上的 DM388相对应的明确选择;当我尝试使用前者进行调试时、它无法连接到任何处理器、因为它们在388上不存在。

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

    尊敬的 John:

    DM388CSK 附带 XDS100V2 JTAG、因此请在目标配置中仅选择该 JTAG。

    与 XDS100V2相比、XDS560V2 JTAG 功能强大且高效。

    建议选择 TI814x 作为电路板类型、因为它包含 DM388CSK 中存在的所有内核以及很少的额外内核。

    因此、您将无法连接到所有内核。 因此、请仅连接到以下内核。

    德州仪器(TI) XDS100v2 USB Emulator_0/CortexA8 (已断开连接:未知)                         /* Linux 内核*/
    2.德州仪器(TI) XDS100v2 USB Emulator_0/Cortex_M3_ISS (已断开连接:未知)                                /* M3VPSS 内核*/
    德州仪器(TI) XDS100v2 USB Emulator_0/Cortex_M3_RTOS (已断开连接:未知)                           /* M3VIDEO Core *

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

    谢谢。  这很有帮助。  但是、由于 IPNC 应用程序包含启动时电路板上已经存在的几个进程、如何确定特定进程的目标、例如 system_server?  我假设我可以使用 gdb 并附加到特定 PID (我知道如何使用远程应用程序调试来执行该操作)、 但是、如果我这么做(使用任一方法)、当我停止在调试器中时、如何确保符号加载并能够访问相关源代码(使用 RA 或 CCS 器件调试)。

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

    尊敬的 John:

    此链接可能会帮助您设置环境、

    但是、RDK 3.9.1默认没有 gdbserver、您可以交叉编译或

    请参阅 RDK 用户指南,该指南提供了使用 Yocto (RDK 配方文件 IPNC-RDK-rootfs-image*)构建文件系统的信息 ,您可以在其中添加 gdb 和 gdbserver。

    我想您可以关闭此查询并打开另一个线程、以便更好地对其进行分类和回答。