stm32 lwip-无法响应ping

时间:2019-02-20 05:45:17

标签: stm32 lwip

我正在尝试配置使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通,但收到“找不到主机”

我想念什么?

2 个答案:

答案 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。