我正在尝试配置使Nucleo-F429ZI能够响应ping的最低要求
使用CubeMX,我以MII模式启用以太网并分配了唯一的MAC地址。
在中间件中,我启用了LwIP(没有RTOS,没有DHCP),我将IP设置为192.168.1.55、255.255.255.0、192.168.1.1。
我启用了ICMP,UDP和TCP。
我在TrueStudio中构建并运行,但是没有响应来自同一网络上Linux盒的ping。
在main.c中,我看到了 MX_LWIP_Init();会使用我配置的地址掩码和gw调用lwip_init()。
在lwip.c中 我看到我的IP,掩码和gw正确初始化,然后是lwip_init();
我尝试从Linux盒(相同的网络)ping通,但收到“找不到主机”
我想念什么?
答案 0 :(得分:1)
在Nucleo-F429ZI中,以太网物理芯片是LAN8742A-CZ-TR,您应该在RMII模式下配置以太网介质(您的micro mac),对于MII接口,您需要RXD [3:0]和TXD [3:0]在介质级别和物理级别之间,但如果查看LAN8742A-CZ-TR数据表或Nucleo-F429ZI示意图,您会发现在物理级别和介质级别之间只有RXD [1:0]和TXD [1:0]引脚是RMII标准接口
您的问题可能会根据多种原因发生, 检查您的媒体配置 检查连接并查看eth连接器上的链接 检查您的Linux机器和phy之间的自动协商过程
答案 1 :(得分:0)
CubeMX默认的RMII引脚和Nucleo-F429ZI引脚不同。您必须更改以下针脚才能通过以太网实现通信。
PB11 -> PG11 (RMII_TX_EN)
PB12 -> PG13 (RMII_TX_D1)
此外,在ETH设置中应将PHY地址设置为0。