Other Parts Discussed in Thread: TMS320F28379D, C2000WARE
部件号: TMS320F28379D
主题: C2000WARE 中讨论的其他器件
我们正在尝试调试一个双核 IPC 示例程序、该程序为 RAM 上的 CPU1 和 CPU2 都包含 2 个单独的工程。
以下是用于加载.out 文件和调试已编译工程的步骤。
- 启动 TMS320F28379D 的所选配置。
- 连接到目标至 CPU1 内核并加载 CPU1.out 文件。
- CPU1 程序在 main 停止。
- 连接到目标到 CPU2 内核并加载 CPU2.out 文件。
- CPU2 程序会立即执行..!
由于 CPU2 没有在 main () 停止、因此两个内核之间的同步不会正确发生、因此数据不会从 CPU1 共享到 CPU2。
我们尝试了以下替代方案、但它们似乎不起作用-
- 在 CPU2 的 main() 处设置断点。
- 在 CPU2 程序的属性中启用 run to main() 选项。
- 在 CPU2 中添加 IPC_WaitforFlag()。
- 在 main() 之后立即在 CPU2 代码中添加一些延迟。
在 RAM 上运行时、相同的程序在不同的系统中似乎可以正常工作。 此外、如果程序在闪存上执行、则在加载.out 文件后、CPU1 和 CPU2 代码都会在 main () 处停止。
附加的 CPU1 程序 — 1.txt 和 CPU2 程序 — 2.txt
在不同系统中出现这种行为的原因可能是什么。 是否需要进行任何系统级设置/配置才能解决问题?


