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.

[参考译文] AM6442:IPC A53 Linux <>M4F

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1017451/am6442-ipc-a53-linux-m4f

器件型号:AM6442

尊敬的 TI 支持者:

我想在 Linux Anh M4F 之间进行 IPC 通信、但我看不到与 IPC Linux 和 M4F 相关的示例或参考。

请告诉我如何操作。

===================================

此外、我还看到了 MCU_PLUS_SDK_am64x_08_00_00_21/SOURCE / DRIVERS/IPC_NOTIFE/V0/SoC/am64x/IPC_NOTIFY_V0_cfg.c 处的代码

针对 M4FSS 的/*中断配置
#define IPC_NOFTIY_INTERRUPT_CONFIG_M4FFS_NUM  (1U)
IpcNotify_InterruptConfig gIpcNotifyInterruptConfig_m4fss0_0[IPC_NOFTIY_INTERRUPT_CONFIG_M4FSS_NUM]={
   {
       .intNum = 16U + 56U、  M4FSS CPU 上的/*中断线路、+16偏移以解决 M4内部中断问题*
       EventID = 0U、  //未使用*/
       .numCores = 4U、 //发送与此中断线绑定的消息的内核数*/
       .coreIdList ={/*内核 ID 与此中断行绑定*
           CSL_CORE_ID_R5FSS0_0、
           CSL_CORE_ID_R5FSS0_1、
           CSL_CORE_ID_R5FSS1_0、
           CSL_CORE_ID_R5FSS1_1、
           CSL_CORE_ID_A53SS0_0、
       }、
   }
};

我不理解.numCores = 4U、但.coreIdList 等于5个元素。 您能解释一下背景吗? 谢谢

谢谢

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

    您好、Thinh、

    您可以在此处找到适用于 MCU Plus SDK 8.0的 IPC Notify 驱动程序的文档:
    http://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/08_00_00_21/exports/docs/api_guide_am64x/DRIVERS_IPC_NOTIFY_PAGE.html

    请注意、IPC Notify 在与 Linux 通信时不起作用。 IPC RPMsg 已通过 Linux 测试、但我不确定我们是否已测试 M4 RTOS <->A53 Linux。 另请注意、Linux SDK 8.0尚未推出。 它将最迟于下个月发布。 我们通常建议对 RTOS/Bare Metal 和 Linux 内核使用相同的 SDK 版本。

    注意事项:
    1) 1)此时、我们已经为几种不同类型的 IPC 实施了软件。 但是、实现 IPC 的方法有很多。 有些实施更适合不同的用例。 您的用例可能要求您以我们尚未创建示例的方式实施 IPC。
    2) IPC RPMsg 受 Linux RPMsg 驱动程序在消息大小和吞吐量方面的限制(因为需要多个副本才能通过 Linux 驱动程序直至用户空间)。

    让我检查一下 SDK 7.3和 SDK 8.0的 Linux SDK 端 IPC 文档是否存在差异。

    此致、

    Nick

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

    另一个有用的链接是:

    AM64x MCU+ SDK:了解处理器间通信(IPC)

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

    尊敬的 TI 支持者:

    我们已经学习 了 AM64x MCU+ SDK:了解处理器间通信(IPC)。 在本手册中、"重要使用点"部分描述:

    • 当 Linux 是 IPC 消息交换的一端时、只能使用 IPC RP 消息。
    • 当 M4F 是 IPC 消息交换的一端时、只能使用 IPC Notify。 这是因为在 AM64X 中、M4F 用例是用作其子系统中自包含的安全控制器。 使用 RP 消息时、它需要访问其子系统外的共享存储器、因此未启用此功能。

    当前 SDK 似乎不支持 M4F 和 Linux 之间的 IPC。 您是否计划在近期内实施此用例?

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

    您好、LAN、

    我目前没有看到 TI 编写软件以在 Linux A53和 M4F 之间进行通信的任何计划。 让我与开发人员进行仔细检查。 如果我没有回复、请在下周对该主题执行 Ping 操作。

    请注意、即使 TI 不编写代码来在 M4F 和 Linux 之间实现 IPC、硬件仍能够在这些内核之间执行 IPC。 因此、您仍然可以自己实施 IPC 版本、但需要一些开发工作。

    此致、

    Nick