主题: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