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
您好、Nick。
谢谢!
此致、
Eli
您好、Eli、很遗憾、我们没有示例来 说明如何在通过 MSRAM 或 TCM 进行通信的两个内核上设置 TCP 服务器/客户端
通过代码检查、如果要绕过 PHY 而使用共享 RAM 进行通信、我认为需要将 LwIP 协议栈(lwipif)的网络接口层直接修改为来自共享 RAM 的 RD/WR 数据包。 这似乎是一项微不足道的任务。
我建议您在实施过程中如果遇到任何特定问题、或者如果您对我们的 LwIP 有任何疑问、我们可以在单独的 E2E 线程中解答这些问题
谢谢!
Paula.
尊敬的 Paula:
是的、我愿意帮忙。
谢谢!
此致、
Eli
尊敬的 Paula:
您能建议如何通过 syscfg 为 CORE-1配置 ENET 吗?
谢谢!
此致、
Eli
尊敬的 Paula:
因为我试图通过共享的 RAM 进行通信,也许我可以直接使用 tcp_init (),但我仍然更喜欢通过 syscfg 正确的方式来实现它。
我正在寻找一种特殊的配置、以便可以绕过 DMA 和 MDIO。
谢谢!
此致、
Eli
尊敬的 Paula:
lwip 软件包中的共享 RAM 上是否有"虚拟"以太网驱动程序?
谢谢!
此致、
Eli
您好、Eli、请打开一个新的 E2E、以便更轻松地将其发送给正确的专家。 如果您认为此主题有助于提供上下文、则可以从新主题中引用该主题
谢谢!
Paula.
Eli、您好!
您正尝试通过 IPC 实现什么目标? IPC Notify、IPC RPMSg 或用于通知的共享存储器实现是否有特定原因不适合您的系统?
请记住、我们无法支持有关修改 TI 驱动程序的问题、因为我们尚未对其进行验证。 因此、如果您确实希望深入修改 Enet 驱动程序、则主要是自己动手。 我们 提供的支持将受到限制。
此致、
Nick
您好、Nick。
我正在尝试使用两个内核上的 TCP 协议来激活 LwIP、而不使用驱动程序。 我希望所有数据包都可以写入共享 RAM 以及从共享 RAM 中读取。
我在tcpip_init()
使用 FreeRTOS 时遇到困难。
您能指导我如何操作吗?
谢谢。
此致、
Eli
Eli、您好!
据我所知、LwIP 旨在通过以太网进行处理器内通信(例如、如果您有 AM243x 和 AM263x、它们通过以太网进行通信)。 它不适用于同一处理器内核之间的处理器间通信。
我可以让您回答我的上一个问题吗?
"您正尝试通过 IPC 实现什么目标? IPC Notify、IPC RPMSg 或用于通知的共享存储器实现是否有特定的原因不适合您的系统?"
如果您能向我们提供更多信息、我们可以为您提供更多关于我们为您的设计建议的 IPC 方法的指导。
*一次要发送多少数据?
*对于数据从一个内核传输到另一个内核需要多长时间,您是否有延迟要求?
*您有吞吐量要求吗?
*等
此致、
Nick
您好、Nick。
理念是使用可靠的标准协议作为内核之间的 IPC。
我们在 AM57xx 项目的各内核之间已经有了一个基于 TCP/IP 的 IPC。
我的任务是在 AM243x 项目中为 LwIP 实现低级层。
我想、根据 TCP 服务器示例、或许 TI 的人员可以为我提供最佳的方法。
这需要绕过所有硬件并仅使用 RAM 中的 LwIP 协议栈。
谢谢!
此致、
Eli
您好、Nick。
关于您的问题:
*一次要发送多少数据?
*对于数据从一个内核传输到另一个内核需要多长时间,您是否有延迟要求?
*您有吞吐量要求吗?
这并不是硬性实时 IPC。
我想我们大约每16ms 发送100字节
延迟不应超出1、2毫秒
吞吐量为~625字节/秒
谢谢!
此致、
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
您好、Nick。
谢谢!
此致、
Eli
您好、Nick。
是否有办法通过 syscfg 添加另一个 IP 接口?
谢谢!
此致、
Eli