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.

[参考译文] F29H85X-SDK:设计一个自动将程序从内核 1 加载到内核 2 的架构

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1605905/f29h85x-sdk-designing-an-architecture-that-automatically-loads-program-from-core-1-to-core-2

器件型号:F29H85X-SDK

您好:

我们的团队正在尝试使用 F29 微控制器的内核 2 来设计软件架构。 我们的目标是实施一种自动方法、使用内核 1 将程序从闪存传输、然后将其复制到 CPU1/2 共享 RAM (LPA) 中、然后由 CPU2 从 LPA 自动执行代码。

我们已经查看了 F29 SDK 提供的示例、但找不到所需的内容。  

这是一个有趣的线程主题: https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1497290/f29h85x-som-evm-loading-the-cpu2-and-cpu3?keyMatch=f29h85x%20cpu%20code%20execution&tisearch=universal_search&cf-support=TI%20E2E%E2%84%A2%20design%20support%20forums 、其中生成了一个.out 文件、该文件将所有内核的代码编译结合在一起。  

我们想知道如何在我们自己的系统上执行此操作、是否需要每个内核都有独立工程以及各自的 cmd 文件?

我们还尝试使用多核 led 示例、为每个内核提供单独的.out 编译输出、但一旦 CPU1 在 ESTOP0 指令处停止、我们就无法将程序加载到 CPU2 和 3 中、由于尽管遵循了指定的指令但仍无法写入 PC_FORCE 寄存器、因此会出现错误。

 

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

    您好、

    您可以从 SDK 中的“ipc_ex1_basic_cpu1_cpu2_multi"示“示例中获取参考。

    CPU2 编译后步骤会为 CPU2 创建.bin

    CPU1 预编译步骤会使用 CPU2 bin 文件的大小更新“cpu2app"部分“部分

    CPU1 编译后步骤使用 CPU2 bin 文件更新“cpu2app"部分“部分的内容、将此部分加载到闪存中并从 LPA RAM 运行

    我们只需要加载 CPU1.out 即可将 CPU2 应用部分加载到 LPA RAM、当 CPU1 内核开始运行时、它会将 CPU2 复位矢量配置到 LPA RAM 并使其退出复位状态、CPU2 开始从 LPA RAM 执行。

    此致、

    Anand