必须先知道,cube配置lwip是个极其简单的事情,想复杂往往就真复杂了。
这里我的环境是(看着多,其实就是几个勾)

直接选8742A这个,真方便啊。。。

RMII接口引脚会自动生成,但未必和我们实际使用的电路图引脚相同,不对的要改过来。另外一个复位引脚根据自己的IO配置成普通输出就好


位置:main()->MX_FREERTOS_Init()->osThreadDef():创建的缺省任务StartDefaultTask()->MX_LWIP_Init()->netif_add()的形参函数: ethernetif_init(),这里也可以配置HOSTNAME->low_level_init()这里可以看到上面的MAC配置->HAL_ETH_Init()->HAL_ETH_MspInit()重于找到了,不想一层层往下找直接搜索HAL_ETH_MspInit就好了
然后添加三行代码,把复位引脚拉低50ms再置高就完成了
(注:代码块放置在用户代码区,这样下次cube生成后我们添加的代码还在)

甚至不需要别的配置了。。
这时候插上网线应该就能在路由器的客户端里面看到连接了,只是主机名是个*号, 也可以看到开发板IP,主机ping开发板IP也可以ping通

这样默认会生成一个"lwip"的主机名,连接路由器可以看到
如果需要修改,
位置:main()->MX_FREERTOS_Init()->osThreadDef():创建的缺省任务StartDefaultTask()->MX_LWIP_Init()->netif_add()的形参函数: ethernetif_init()
改成需要的就好了

RAW API 默认未开启

NETCONN API 默认已开启

Socket API 默认已开启

ping自己的电脑看看,ping不通先关闭自己的防火墙,电脑之间相互ping的通再测试开发板(我就是那个没关防火墙调试的人才。。)