工具与软件:
大家好!
工业通信 SDK 中的 EtherCAT 示例都描述了如何使用 R5 作为 EtherCAT 子器件有效载荷的发起方。
我们有一个非时间关键型应用、其中要发送的数据由 Linux OS (A53内核)上运行的应用生成。 您有没有任何扩展 R5 FreeRTOS 的示例(包括某种 IPC)来使用 Linux 发送数据甚至实现 EtherCAT 应用?
此致、
OLAF
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.
工具与软件:
大家好!
工业通信 SDK 中的 EtherCAT 示例都描述了如何使用 R5 作为 EtherCAT 子器件有效载荷的发起方。
我们有一个非时间关键型应用、其中要发送的数据由 Linux OS (A53内核)上运行的应用生成。 您有没有任何扩展 R5 FreeRTOS 的示例(包括某种 IPC)来使用 Linux 发送数据甚至实现 EtherCAT 应用?
此致、
OLAF
您好、Olaf、
目前、我们没有提供在 AM64的 A53内核上运行堆栈的示例。 关于在内核之间发送数据、这不在 EtherCAT 协议栈本身的范围内。 为此、我建议查看此处提供的 IPC 文档和示例:
此致
Andreas
您好、Olaf、
我将从 Linux 与 MCU+内核之间的 IPC 角度进行评论。 请注意、Linux 邮箱驱动程序只是一个低级驱动程序(即不与 Linux 用户空间进行交互)。 因此、您不能使用 IPC_Notify 驱动程序通过 TI 提供的代码与 Linux 用户空间进行通信。
我要了解的第一个从 Linux 到 R5F 传送非时间关键型数据的示例是 RPMsg (如果确实没有时序要求、并且您愿意传递496字节块的数据)。 我们还有 RPMsg 零复制示例、其中使用共享存储器区域来传递实际数据、并使用 RPMsg 作为通知机制。
您可以在 AM64x Academy 的多核模块中开始使用 RPMsg 信息:
https://dev.ti.com/tirex/explore/node?node=A__ASn.0Gvx.CK7j7a0EWKc.w__AM64-ACADEMY__WI1KRXP__LATEST
如果您想了解 RPMsg 能实现什么样的往返延迟性能、请查看9月26日我的响应:
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1410313/am6442-communication-latency-issues-between-a53-and-r5-in-a-linux-rt-system/5434861#5434861
此致、
Nick
嗨、大家好!
感谢您有关实现 IPC 机制的提示。 我想知道其他客户是否根本不使用这个常见用例? 如果要实现仅在 R5上运行的 EtherCAT 从站(包括应用程序)、具有 A53内核有什么好处? 对于此用例 、我会选择其他 SoC...
您是否具备 在 A53上运行 EtherCAT 堆栈的经验? SOES 项目似乎有一个使用 PRU: https://github.com/OpenEtherCATsociety/SOES/tree/master/soes/hal/tiesc 的概念验证实现 (即使未记录 PRU 的加载)。
此致、
OLAF
您好、Olaf、
我的回复不想说 EtherCAT 堆栈无法在 A53上实现、实际上我们过去是在 AM335x 上实现的。 我们也已经考虑为此提供一个示例应用、但目前我们还没有具体的时间计划。
我们的见解是、对于 Linux 系统而言、周期时间低于100us 很难管理、而实施其他应用(例如 Web 服务器)时必须小心谨慎、以免干扰实时特性。 因此、我们在 R5内核上运行实时相关部分、在 A53上运行"不太重要"的部分是合理的。
此致
Andreas