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/AM5728:DSP RTOS 程序调试问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/671655/ccs-am5728-dsp-rtos-program-debug-issue

器件型号:AM5728

工具/软件:Code Composer Studio

各位专家,您好

我的板是 idkAM5728。 在 A15上运行 RT-Linux 时、不允许通过 CCS 调试 DSP RTOS 程序。错误报告如下:

当我从电路板上移除 SD 卡时、这些问题得到解决、我可以顺利进行调试。

但现在、我需要一些包含 IPC 模块的函数。我的程序将在 VirtQuenec.c 处停止。如下所示:

IPC 模块似乎由主机操作系统供电。 但我没有在 A15上运行任何操作系统。  

那么、我如何在 A15上运行 RT-Linux 以及通过 CCS 调试 DSP RTOS 程序。

此致  

是的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    请尝试以下操作:
    1.使用调试 ifno 构建内核。 执行 make tisdk_am57xx-evm_defconfig、然后执行 make menuconfig 并导航到:
    内核堆栈->编译时检查和编译器选项->使用调试信息编译内核
    2.在 CCS 中设置 u-boot 和内核项目。 您可以参考以下 wiki:
    processors.wiki.ti.com/.../Sitara_Linux_Training:_uboot_linux_debug_with_ccsv5
    请参阅设置 U-Boot 调试项目和设置 Linux 内核调试项目部分。 请注意、这是一个通用指南、在 CCS v7中、菜单选项可能略有不同、但想法相同。
    3.按照 wiki 中执行 Linux 内核调试部分提供的步骤操作:
     processors.wiki.ti.com/.../Sitara_Linux_Training:_uboot_linux_debug_with_ccsv5

    此致、
    Yordan

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


    感谢你的帮助。
    有3种方法是独立的、对吧?


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

    不、我建议的是一个序列。 您需要执行上述三个步骤(按列出的顺序)来尝试使用 CCS 调试 Linux 内核。

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

    你(们)好

    我听从了你的建议、但有些事情与预期完全不同。

    我已重建 U-Boot 和 Linux 内核。并在 CCSv7中设置 U-Boot 和内核项目。 这是可以的(我认为、可能没有什么会导致问题)。

      我在尝试执行 Linux 内核调试部分时遇到了问题、请访问 wiki。

    在"执行 Linux 内核调试"部分中、步骤2至步骤6正常、 在步骤7中、我在开始时获得了">="、而 Wiki 为"U-Boot#"。

    我看不到任何黄色的暂停图标可用于暂停 A15 (步骤8)。

    此外,我找不到与  board-am335xevm.c 类似的文件(步骤10,我需要一个看起来像 board-am57xxevm.c,我猜  )。

    有什么建议吗? 谢谢。

     

    此致

    是的

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

    在 ARM 已经运行 Linux 时调试 DSP 是我们过去看到的一个常见问题。 我们专门为此场景编写了一份应用手册、您可以参考。 您可以在以下链接中找到它。

    www.ti.com/.../sprac12.pdf

    我对 Linux 方面不太熟悉、因此如果您仍然需要帮助、我可以让 Linux 工程师对此主题发表意见、请告诉我。

    但愿这对您有所帮助。 如果您有任何其他问题、请告知我们。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Sahin Okur

    是的、我需要。
    我已经尝试过日志模块来调试代码。但它通常卡在 diag 模块上。我无法很好地处理 setmask 和打印日志、这会导致系统崩溃。 因此、我将我的代码移植到 CCS、希望它能有所帮助。 在 A15运行 Linux 时、我需要一些帮助来调试包括 IPC 模块在内的 DSP 程序。
    谢谢你。

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

    [引用用户="Yxxxx"]
    在 A15运行 Linux 时、我需要一些帮助来调试包括 IPC 模块在内的 DSP 程序。

    我链接的应用手册详细介绍了如何执行此操作。 例如、它描述的调试技术之一是放入 while 循环、让程序等待该循环、然后连接到内核、加载符号并单步执行代码。  

    这只是应用手册中描述的一种技术。 还有其他示例、例如使用布线、ROV 等  

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

    你好,Sahin Okur

    是的,我已经阅读了它。
    我的基本问题一开始就被描述为 A15无法初始化上下文。DSP 保持在复位状态。
    我甚至无法开始运行该程序。
    Yordan 向我提出了一些解决问题的建议,但我在实施时遇到了一些问题。
    我现在仍然是第一个问题。

    此致
    是的