2397798_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2397798_zh-CN

2397798_zh-CN

请求提供 i.MX RT1176 双核以太网示例(每个核心一个以太网接口)

您好,NXP团队,

我目前正在 使用 MCUXpresso IDE v11.9.1(版本 2170,2024-04-19) 开发 i.MX RT1176 评估板 。

我想知道 NXP 是否提供任何多核示例项目,以演示如何使用 Cortex-M7 和 Cortex-M4 内核以及独立的以太网接口。

我的需求如下:

  • 以太网端口 1应由Cortex-M7内核初始化和管理。
  • 以太网端口 2应由Cortex-M4内核初始化和管理。
  • 两个以太网接口应在其各自的内核上同时独立运行。
  • 如果需要进行核心间通信(例如 RPMsg 或 MU),我希望能够提供一些示例或文档来解释推荐的方法。

我搜索了 MCUXpresso SDK 示例,但没有找到符合此用例的项目。

请问您能否告知我以下信息:

  1. NXP 是否有官方的多核示例演示如何在 M7 内核上使用一个以太网控制器,在 M4 内核上使用另一个以太网控制器?
  2. 如果有这样的示例,能否请您分享一下项目,或者提供相应的 SDK 示例名称或代码库链接?
  3. 如果没有这样的例子,您能否建议在 i.MX RT1176 上实现此配置的推荐架构?

任何参考项目、应用笔记或文档都将不胜感激。

感谢您的支持。

顺祝商祺!

阿拉文德·托加拉利

Re: Request for Dual-Core Ethernet Example on i.MX RT1176 (One Ethernet per Core)

尊敬的@Aravind_Togaralli

遗憾的是,目前还没有官方示例能够证明 Cortex-M7 和 Cortex-M4 可以同时运行独立的以太网接口。

然而,推荐的架构是保持两个以太网子系统完全独立:

  • 将一个以太网控制器(例如 ENET/ENET_QOS)分配给 CM7,将另一个分配给 CM4。
  • 每个核心都应该维护自己的 MAC 驱动程序、PHY 控制、lwIP 协议栈、netif 实例、DMA 描述符、数据包缓冲区、中断和网络配置。
  • 仅在需要时才使用 RPMsg-Lite、MU 或共享内存进行核心间控制和状态通信。
  • 在开发过程中,可以考虑使用 RDC/XRDC2 来隔离两个内核之间的以太网外设和内存资源。
  • 对于以太网 DMA 缓冲区,请确保所选内存区域可被相应的 CPU 和以太网 DMA 主设备访问。

建议的实施方案如下:

  1. 从一个可运行的RT1170多核示例开始。
  2. 使用标准的 lwIP 示例在 CM7 上启动以太网。
  3. 使用第二个以太网控制器在 CM4 上启动以太网。
  4. 验证两个以太网接口是否同时运行且无进程间通信 (IPC)。
  5. 如有需要,添加 RDC/XRDC2 隔离。
  6. 仅当应用程序需要核心间交互时才引入 RPMsg-Lite 或 MU/共享内存通信。
您可能还会发现应用笔记AN13264很有帮助,因为它为 RT1170 多核应用程序开发提供了指导和建议。

顺祝商祺!

张雪莉

Tags (1)
No ratings
Version history
Last update:
Thursday
Updated by: