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.

[参考译文] SK-AM62P-LP:在 A53内核上在 SMP 下运行 FreeRTOS 的 AM62P EVM 的 CCS 调试问题。

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1481734/sk-am62p-lp-ccs-debug-problems-for-am62p-evm-running-freertos-under-smp-on-a53-cores

器件型号:SK-AM62P-LP
主题:AM62P 中讨论的其他器件

工具/软件:

目前、在调试在 A53内核上以 SMP 运行 FreeRTOS 的 AM62P EVM 时遇到问题。

我设法创建了一个多核测试程序、该程序执行在所有四个 A53内核上运行的任务;通过终端上的 DebugP_LOG 输出验证了正确的操作。 但是、在内核上进行调试时仍然遇到问题。 例如,当代码加载时,它应该运行到 main()和 halt :它没有。 它似乎在启动过程中运行到任意点(_c_int00、_mmuinit、有时会运行 main)、然后如果 I F8恢复运行并让程序正常运行、这由 DebugP_LOG 终端输出进行验证。 但是、如果我随后进行阶跃、它会进入 FreeRTOS 代码。 有时我可以通过执行此操作执行 F8 (恢复)、它最终将返回到我的代码、但是下一步会再次将其发送到 FreeRTOS 或电路板代码中。

 如果我在任何内核中设置一个断点、会发生类似的情况:我到达断点(有时、在其他时候它进入电路板或 FreeRTOS 代码)、然后下一步或 F8 (恢复)再次关闭。 一旦调试器位于 FreeRTOS 或电路板代码中、任何步进或恢复操作似乎都会将跟踪发送到电路板或 FreeRTOS 代码中的下一个任意点、或者有时会在当前指令上挂起。

我认为根据 CCS SMP 调试站点 https://software-dl.ti.com/ccs/esd/documents/ccs_smp-debug.html software-dl.ti.com、Synch 分组应该以同步方式启动、停止和调试所有内核 。  

我想我已经完成了可能会影响此功能的所有设置、但没有找到任何能让我按正常预期逐步完成代码的内容。

 非常感谢为此提供的任何帮助。

 谢谢

Patrick

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

    您好 Patrick、

    我们实际上并不支持在 AM62Px A53内核上运行的 FreeRTOS:

    MCU+ SDK 仅用于 R5F 开发: https://software-dl.ti.com/mcu-plus-sdk/esd/AM62PX/10_01_00_33/exports/docs/api_guide_am62px/index.html 

    FreeRTOS 内核仅在 Cortex-R5F、WKUP_R5F: https://software-dl.ti.com/mcu-plus-sdk/esd/AM62PX/10_01_00_33/exports/docs/api_guide_am62px/RELEASE_NOTES_10_01_00_PAGE.html 上受支持

    我正在将您的主题重新分配给另一个团队成员、以便 进一步讨论。

    此致、

    Nick

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

    嗨、Patrick。

    您能告诉我您在 DPL 层中为启用 SMP 模式而做了哪些更改吗? 我不确定 CCS 是否存在任何问题、因为 SDK 默认不支持 SMP 模式、因此我想确保 DPL 层没有遗漏任何内容。 在您尝试运行代码并尝试放置断点时、是否也可以共享这些问题的屏幕共享?

    此致、

    会面。

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

    尊敬的会议:

    正如我之前在发送给 Brian Wang 的原始电子邮件中所解释的、我实际上还没有修改 DPL。 由于 AM62P 和 AM62A 几乎相同、除了 AM62A 上的 AI 块外)、我只使用 AM62A SMP 任务切换工程作为基础、并对其进行修改、仅在每个内核上运行任务。 AM62A 在 TI 网站上显示为在 A53内核上支持 FreeRTOS SMP、而 AM62A SMP 任务切换工程会在 AM62P EVM 套件上正确编译和运行。 我修改后的"核心测试"版本也可在 AM62P EVM 上正常运行。 我遇到的问题是我无法调试在每个内核上运行的代码:正如我在除0之外的内核上运行的任务中设置的此链断点顶部的说明所述、这些断点不会响应、调试器会被锁定在代码循环中。 在屏幕截图中显示实际的事件链非常困难、可能最好运行代码;因此、我附加了导出的 CCS 工程、这样您就可以运行它并自行查看问题。 我建议您最初运行代码而不使用断点、因此您可以看到所有4个内核实际上都通过调试输出响应到终端、然后尝试在不同内核上的不同位置放置断点、以便您可以看到我遇到的问题。

    我使用 CCS 版本12.8-1运行 SK-AM62P-LP EVM 套件上的代码。

    这些 CCS 工具全部安装在 TI 默认目录中、并使用 mcu_plus_sdk_am62ax_10_00_00_14中的库。

    请告诉我您找到了什么。

    谢谢  

    此致

    Patrick.e2e.ti.com/.../AM62P_5F00_SMP_5F00_MCore_5F00_Test.zip

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

    尊敬的 Patrick:

    正如您提到代码在移植后工作正常、您在调试工程时只会遇到问题、让我将其分配给 CCS 团队以获取他们的输入、并检查 CCS 中是否存在导致此问题的问题、或者我们需要在 CCS 中启用一些设置。

    此致、

    会面。

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

    尊敬的 Patrick:

    在与 CCS 团队进行核实之前、我希望您给予一些确认。

    我要再次指出、在 AM62P 上、我们仅在 R5上支持 FreeRTOS、正如 Nick 已经提到的、MCU+SDK 不支持 A53内核的 FreeRTOS。

    我知道您正在使用 AM62A 中的示例作为运行示例的基础、但是、除了您可能需要从 AM62A 移植到 AM62P 的许多其他支持文件外、为了在 A53内核中启用 FreeRTOS SMP 支持、下面 AM62A 内核目录的屏幕截图可能会让您了解到相同的概念:

    我想确认您是否已完成所有这些工作?

    此致、

    会面。

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

    尊敬的会议:

    感谢您的答复。 我将检查工程编译设置并确认您在上面提出的要点。

    此致

    Patrick。

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

    尊敬的会议:

                       请参考下面的电子邮件:我根据导出的项目附加了项目设置的屏幕截图、我向您演示了在 th eA53内核上对 SMP 进行 CCS 调试时遇到的问题。 屏幕截图显示工程正在提取 测试所需的 AM62Ax 文件和库、而不是 AM62Px 库。 因此、我确实认为这是 CCS 的一个问题。 您能否询问 CCS 团队是否有人调试了多核 A53 SMP 应用程序、在所有内核上成功使用了断点、步进等、如果他们有如何调试、如果他们已经完成了调试、他们会给我发送一个示例说明他们做了什么。

     

    谢谢

    此致

    Patrick。

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

    尊敬的 Patrick:

    屏幕截图显示该工程正在提取 我测试所需的 AM62Ax 文件和库、而不是 AM62Px librarie

    这不是 CCS 问题、这是正常现象、因为您仅导入 AM62Ax 工程并将其用于 AM62Px。 不建议您参考 AM62Ax 示例、但您应该导入一个空的 AM62Px 工程并进行此操作。

    是否有人调试了多核 A53 SMP 应用程序、成功使用断点、步进等、

    它未在 AM62Px 上进行测试、因为 MCU+SDK 不支持 SMP 模式、因此无法对其进行测试、但这是在 AM62Ax 上进行的测试、可以正常运行。

    此致、

    会面。