工具与软件:
您好!
我已成功在内核0和内核1上同时运行 FreeRTOS "Hello World"。
我想在两个内核上激活"tcp_server"、以通过 MSRAM 或 TCM 中的共享 RAM 进行通信。
我知道我不需要使用"phy",而是使用 RAM 读写数据包。
是否有 TI 示例?
这样做的最好方法是什么?
谢谢!
Eli
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.
工具与软件:
您好!
我已成功在内核0和内核1上同时运行 FreeRTOS "Hello World"。
我想在两个内核上激活"tcp_server"、以通过 MSRAM 或 TCM 中的共享 RAM 进行通信。
我知道我不需要使用"phy",而是使用 RAM 读写数据包。
是否有 TI 示例?
这样做的最好方法是什么?
谢谢!
Eli
Eli、您好!
我们启用处理器间通信(IPC)的默认方式是使用 IPC_Notify 和 IPC_RPMsg。
请参阅
https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/10_00_00_20/exports/docs/api_guide_am243x/IPC_GUIDE.html
https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/10_00_00_20/exports/docs/api_guide_am243x/DRIVERS_IPC_NOTIFY_PAGE.html
https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/10_00_00_20/exports/docs/api_guide_am243x/DRIVERS_IPC_RPMESSAGE_PAGE.html
https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/10_00_00_20/exports/docs/api_guide_am243x/EXAMPLES_DRIVERS_IPC_NOTIFY_ECHO.html
https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/10_00_00_20/exports/docs/api_guide_am243x/EXAMPLES_DRIVERS_IPC_RPMESSAGE_ECHO.html
我不确定是否有任何示例可以定义一个 TCP 服务器、以便在内核之间进行通信、而不是通过以太网接口进行通信。 我正在将您的主题重新分配给另一位团队成员进行评论。
此致、
Nick
您好、Eli、很遗憾、我们没有示例来 说明如何在通过 MSRAM 或 TCM 进行通信的两个内核上设置 TCP 服务器/客户端
通过代码检查、如果要绕过 PHY 而使用共享 RAM 进行通信、我认为需要将 LwIP 协议栈(lwipif)的网络接口层直接修改为来自共享 RAM 的 RD/WR 数据包。 这似乎是一项微不足道的任务。
我建议您在实施过程中如果遇到任何特定问题、或者如果您对我们的 LwIP 有任何疑问、我们可以在单独的 E2E 线程中解答这些问题
谢谢!
Paula.
Eli、您好!
据我所知、LwIP 旨在通过以太网进行处理器内通信(例如、如果您有 AM243x 和 AM263x、它们通过以太网进行通信)。 它不适用于同一处理器内核之间的处理器间通信。
我可以让您回答我的上一个问题吗?
"您正尝试通过 IPC 实现什么目标? IPC Notify、IPC RPMSg 或用于通知的共享存储器实现是否有特定的原因不适合您的系统?"
如果您能向我们提供更多信息、我们可以为您提供更多关于我们为您的设计建议的 IPC 方法的指导。
*一次要发送多少数据?
*对于数据从一个内核传输到另一个内核需要多长时间,您是否有延迟要求?
*您有吞吐量要求吗?
*等
此致、
Nick
您好、Nick。
理念是使用可靠的标准协议作为内核之间的 IPC。
我们在 AM57xx 项目的各内核之间已经有了一个基于 TCP/IP 的 IPC。
我的任务是在 AM243x 项目中为 LwIP 实现低级层。
我想、根据 TCP 服务器示例、或许 TI 的人员可以为我提供最佳的方法。
这需要绕过所有硬件并仅使用 RAM 中的 LwIP 协议栈。
谢谢!
此致、
Eli
Eli、您好!
我建议您在该情况下首先评估 RPMSg。 您的开发流程将更加简单、我们实际上能够在您需要时回答问题并提供支持。 RPMSG 是标准化的(如果您需要将 Linux 添加到自己的设计并转移到 AM64x、RPMSG 和邮箱实际上是 Linux 和 R5F/M4内核之间默认使用的通信方法)。
您可以在 MCU+ SDK 中找到默认的 ipc_rpmsg_echo 示例、如下所示:
https://github.com/TexasInstruments/mcupsdk-core-k3/tree/k3_main/examples/drivers/ipc/ipc_rpmsg_echo
此致、
Nick