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.

[参考译文] TMDS64EVM:配置可以发送的 rpmsg 消息大小的方法。

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1246668/tmds64evm-ways-to-configure-the-size-of-the-rpmsg-messages-i-can-send

器件型号:TMDS64EVM

大家好!

是否有办法配置可从 Linux A53内核和 R5F 内核发送的 rpmsg 消息的大小?

我在这里看到了

dev.ti.com/.../node

默认大小为512。

它可以更大吗?  

更小?

是固定的吗?

如果有,你可以给我发送一个链接的指南?

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

    您好 Shachar:

    视情况而定。 有关更多详细信息、请参阅此 MCU+ SDK 文档: https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/08_06_00_45/exports/docs/api_guide_am64x/IPC_GUIDE.html

    对于您所关心的器件:

    "
    有两个 API 可在 CPU 和 CPU 之间交换消息、

    • IPC RP 消息、
      • 这里、一个 CPU 可以将消息作为数据包缓冲区发送到另一个 CPU 上的逻辑端点或端口
      • 数据包缓冲区本身保存在一个"共享存储器"中、这对参与的两个 CPU 都是可见的
      • 将数据包放入共享存储器时、CPU 需要中断或"通知"另一个 CPU 有新的数据包要处理。 这是使用硬件中断机制来完成的。
      • 消息数据包大小
        • 当 Linux 为一端时、数据包大小固定为512字节。 默认情况下、这在 Linux 内核中是固定的。
        • 当 RTOS/NORTOS 两端的数据包大小为4字节时、最小数据包大小。
        • 终端用户可以定义两端 RTOS/NORTOS 时的最大数据包大小、但建议的最大数据包大小为512字节。
        • 更大的数据包意味着更大的共享存储器来保存消息。
      • 逻辑端点可以达到 RPMSSAGE_MAX_LOATE_ENDPT  计数。

    "

    如果您希望在 Linux 与远程内核之间的通信时发送超过512字节的信息、请查看我们的共享存储器示例: https://git.ti.com/cgit/rpmsg/rpmsg_char_zerocopy/

    在共享存储器示例中、一个内核将数据写入到一个共享存储器位置、然后使用 RPMSg 来通知另一个内核该数据已准备好进行读取。

    此致、

    尼克

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

    谢谢 Nick