前段时间做项目用到百兆网通信,用到了 LWIP,—开始是参照原子的例程做移植,因为原子的例程中使用的是 LAN8720,为了改成 DP83848,改寄存器地址,改位定义,改速度计算公式,折腾了好多天也没成功,最后只好听从网友的建议,修改ST 官方的一个例程,几天下来,竟然成功了,现在将步骤分享给大家,感觉实际工程中用 DP83848 的还是大多数•.其实本文并不是移植 LWIP,只是将 ST 官方的例程改成我们项目所需要的,然后我们再在这个基础上完成自己的项目即可,这对新接触 LWIP 又急着做项目的人比较适合,没必要去了解 LWIP 的具体实现,会用就行了..本文作者:武汉普创科技--易宇--转载请注明出处本人的项目配置:STM32F407VET6+DP83848C1、从官方网站 http://www.stmcu.org/document/list/index/category-523 下载 STSW-STM32070 面向 STM32F4x7 微控制器的 LwlPTCP/IP 协议栈的演示代码的英文文档DM00036052.pdf 和软件包 stsw-stm32070.zip。stsw-stm32070.zip 是面向STM32F4X7 微控制器的 LwIPTCP/IP 协议栈的基于官方 EVAL 开发板的演示代码,显然,我们直接修改这个演示代码要比我们去移植 LWIP 简单得多。DM00036052.pdf 是演示代码的说明文档。2、将 stsw-stm32070.zip 解压得到 STM32F4x7_ETH_LwIP_V1.1.0 文件夹,下面是STM32F4x7_ETH_LwIP_V1.1.0 文件夹架构(>.LibrariesSTM眈标推库*ProjectJ程空间亠 FreeRTQSFreeRTOSTjk 例http&erver_retcorno.httpserver_socketr*udptcp_echrvtr#Standalone*0httpierverotcp_echcj_client>ttp-xhojs^werotftp^ervtrudp_echo_elrentC-udp_echo_server■Utrlities基于 netconnAPIWeb 服务器基于 socketAPIWeb 服务器 1*STM32.EVAL.CommonSTM324x71_EVA十 STM324x7l_EVAL 板专用文件屮£TM3240_41_G_tVAL』Third_Part^STM3240_41_G_EVA 板专用文件FatF&文件-FreeRTOS 文件includek.portable“Iwrp-1.4.1docl>port 呻sic 期LwlP源码LwlP的应用层?口叹太网接口文件3、删除_htmresc 文件夹,这个文件夹是 ST 及 CMSIS 公司 logo,没什么用。4、打开 project 文件夹,这个文件夹包括两个文件夹:FreeRTOS 和 Standalone。FreeRTOS 文件夹里的程序示例是基于 FreeRTOS 系统的 LWIP 移植示例,这里我们不需要,直接删除Standalone 文件夹里是一些无操作系统 LWIP 移植示例程序,在这里我们工程需要的是普通的数据传输,所以只使用到 UDP,所以我...