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.

[参考译文] TMS320F28379D:刷写两个内核并独立运行它们

Guru**** 2438280 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1531613/tms320f28379d-flashing-both-the-core-s-and-running-them-independently

部件号:TMS320F28379D
主题:C2000WARE 中讨论的其他器件

工具/软件:

C2000Ware 版本 C2000Ware_5_00_00_00
使用了示例 C:\ti\c2000\C2000Ware_5_00_00_00\device_support\f2837xd\examples\dual\blinky_dc

在双核闪烁 LED 示例中、使用以下函数在 CPU1 内核中初始化和配置 GPIO34:

GPIO_SetupPinMux (34、GPIO_MUX_CPU2、0);
GPIO_SetupPinOptions (34、GPIO_OUTPUT、GPIO_PushPull);

我想在 F28379D LaunchPad 上独立刷写并运行 CPU1 和 CPU2 的应用程序。 我对此设置有两个问题:

问题 1

如何将 CPU1 和 CPU2 应用程序刷写到 LaunchPad 上并独立运行它们?
从 Code Composer Studio (CCS) 对两个内核进行编程的建议过程是什么?

问题 2.

我希望 CPU2 内核控制 GPIO34(由 CPU1 初始化)。

  • CPU2 如何接收方向配置(即,Set As) 输出 ) 来获取 GPIO34 的代码吗?

  • 使用 IPC 是否是将此信息从 CPU1 发送到 CPU2 的正确方法?

  • CPU2 接收到方向配置后、如何相应地设置 GPIO34 的方向并切换 LED?

请指导我如何使用 IPC 正确配置此设置、以及在从 CPU1 接收数据后 CPU2 内核需要执行哪些步骤来控制 GPIO34。

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

    您好、

    如何将 CPU1 和 CPU2 应用程序刷写到 LaunchPad 上并独立运行?
    从 Code Composer Studio (CCS) 对两个内核进行编程的建议过程是什么?

     .out 将编译后的文件加载到 CCS 中的相应内核、然后运行 CPU1 内核和 CPU2 内核。

    [报价 userid=“659801" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1531613/tms320f28379d-flashing-both-the-core-s-and-running-them-independently

    我希望 CPU2 内核控制 GPIO34(由 CPU1 初始化)。

    • CPU2 如何接收方向配置(即,Set As) 输出 ) 来获取 GPIO34 的代码吗?

    • 使用 IPC 是否是将此信息从 CPU1 发送到 CPU2 的正确方法?

    • CPU2 接收到方向配置后、如何相应地设置 GPIO34 的方向并切换 LED?

    请指导我如何使用 IPC 正确配置此设置、以及在从 CPU1 接收数据后 CPU2 内核需要执行哪些步骤来控制 GPIO34

    [/报价]

    要将 GPIO 控制从 CPU1 传输到 CPU2、您需要使用 GPIO_setControllerCore () 函数。 下面是操作方法:在 CPU1 的代码中:
    GPIO_setControllerCore (34、GPIO_CORE_CPU2);//将 GPIO34 的控制传递到 CPU2

    要在内核之间共享 GPIO 配置(方向等)、有两个选项:

    a) 使用 IPC(处理器间通信):

    • 这是在内核之间同步 GPIO 配置的推荐方法
    • 您可以使用 IPC 模块将配置信息从 CPU1 发送到 CPU2
    • C2000Ware 示例文件夹中有一个名为“ipc_ex1_gpio_toggle"的“的示例、用于演示这一点

    b) CPU2 中的直接配置:

    • CPU1 将控制权转移到 CPU2 后、CPU2 可以使用 GpioCtrlRegs 直接配置 GPIO

    谢谢

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

    您好、  

    感谢您的见解。

    [引述 userid=“559325" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1531613/tms320f28379d-flashing-both-the-core-s-and-running-them-independently/5892864 #5892864“]

    b) CPU2 中的直接配置:

    • CPU1 将控制权转移到 CPU2 后、CPU2 可以使用 GpioCtrlRegs 直接配置 GPIO
    [/报价]

    以上几点不可行、因为 CPU2 无法访问 GpioCtrlRegs—只有 CPU1 可以控制它们。 根据我的观察结果、即使从 CPU1 将 GPIO 的控制权分配给 CPU2 后、也只能从 CPU2 访问 GPIO 数据寄存器。

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

    您好、

    是的、包括方向/多路复用器配置在内的所有初始化都需要从 CPU1 完成、然后我们将控制权转移到 CPU2、以便可以在之后从 CPU2 进行设置/切换/清除。

    大多数应用不需要更改初始配置、因此从 CPU1 进行此操作就足够了、之后可以从 CPU2 进行引脚设置/清除/切换。

    谢谢