大家好,
问候!
我正在研究 IMXRT1170-EVKB 板并实现双以太网(ETH0 和 ETH1)以同时以 100M 和 1G 的速度工作。
我首先导入 SDK 示例“evkbmimxrt1170_lwip_ping_bm_cm7”,该示例在同一工作区内以独立模式成功运行。以太网端口选择通过以下方式控制:
- “板载网络使用100M以太网端口(1U)”
-“板载网络使用100M以太网端口(0U)”
但是,我需要同时启用两个以太网端口(100M 和 1G)。为了实现这一目标,我采取了以下措施:
- 使用 lwIP 配置并初始化两个以太网接口(100M 和 1G)。
- 分配唯一的 MAC 地址、PHY 资源和时钟配置。
- 为每个接口创建“netif_100M”和“netif_1G”结构。
驱动程序和配置文件的修改:
1. 在“opt.h”中启用“IP_FORWARD”。
2. 为两个以太网接口启用 ping 初始化。
3. 更新“lwipopts.h”:
- 设置“LWIP_SINGLE_NETIF = 0”以允许多个接口。
- 设置“LWIP_NUM_NETIF = 2”来定义网络接口的最大数量。
整合这些更改后,我可以成功地向两个以太网输入发送 ping 消息。但只有“1G以太网(ETH1)有响应”,而“100M以太网(ETH0)没有收到任何响应”。
我已附上终端截图和完整修改后的项目“evkbmimxrt1170_lwip_ping_bm_cm7”以供参考。您能否检查一下我的配置并指出可能导致此问题的任何缺失步骤?
期待您的指导。
提前谢谢!
此致,
库马尔王子
你好,山姆,
感谢您的快速回复。
我按照建议做了修改。删除/注释了“ netif_set_default(&netif_100M);”,但问题依旧。比如ping响应只来自1G网络,而不是100M网络。
BR,
库马尔王子