
01、IAR工程移植 首先是IAR工程的移植操作。 添加以太网驱动库,注意,以太网驱动库并不在标准外设库中,需要大家自行到网上或ST官网下载。 ![]() 把以太网驱动库添加进工程 ![]() 增加新库的头文件路径 ![]() 将LWIP源码放入目录中,我的个人习惯放到了Third_Party文件夹中,属于第三方库,以后用到其他类似FATFS这样的第三方库,都会放入次文件夹内。 ![]() 我们把stm32f2x7_eth_conf_template.h文件剪切到文件夹中,并重命名为stm32f2x7_eth_conf.h ![]() 修改文件名称 ![]() 当然新加的头文件,要添加新的头文件路径。 ![]() 注意:这个文件是只读文件,要把对勾去掉,不然的话在IDE中无法修改代码。 ![]() 添加以太网RTL8201EL的驱动程序 我们首先拷贝官方历程驱动,这部分主要是硬件层的初始化,在《LWIP初体验-修改ST官方demo》中,我们已经修改完代码,直接拷贝过来就行。 ![]() 放入对应的位置 ![]() 然后把BSP硬件驱动添加进入工程 ![]() 添加lwip源代码,直接按照LWIP源码目录结构添加即可,不用全部添加,按下图所示接口 ![]() 添加API相关文件 ![]() 添加Netif相关文件 ![]() 添加IPV4相关文件 ![]() 当然,还要添加头文件路径,这是必不可少的 ![]() 添加中间文件 ![]() 添加lwipopts.h ![]() 编译出错 ![]() 这些文件主要是官方开发板的lcd相关文件,把他们屏蔽掉 ![]() 再编译,出新的错误,再次屏蔽这些现实部分的代码。 ![]() 修改之后,编译没有问题 ![]() 复制驱动,直接使用官方demo的文件, ![]() 拷贝ethernetif.c文件 ![]() 拷贝lwipopts.h文件。 ![]() 把原来的文件删除掉 ![]() 重新添加我们新添加的文件(注意解除只读属性) 修改文件 ![]() 新建lwip_app.c和lwip_app.h文件 ![]() 添加LwIP_Init函数接口。 ![]() 增加LwIP_Pkt_Handle函数。 ![]() 定义一下宏 ![]() 包头文件包含一下 ![]() 修改函数 ![]() 修改主函数 ![]() 使用PC端ping一下开发板的IP ![]() 移植成功,可以正常响应ping。 这只是个简单的移植,就是个流水账,想看具体修改内容的,可以到文章开头下载工程代码,对比修改前和修改后的区别。网络部分有很多知识,想深入了解,还需要自己多看看代码。 02、修改Keil工程 添加文件,这些基本和IAR一样。 ![]() 添加头文件路径 ![]() 编译代码,有1个错误 ![]() 在timers.c添加 ![]() 代码如下
编译下载,发现ping会死机 修改代码优化等级就好了 ![]() 测试成功 ![]() 总结:这是一篇流水账的移植记录,深入了解LWIP网络开发,还是要动手自己移植,多多研究源码。 |
【2025·STM32峰会】GUI解决方案实训分享5-调通板载的NRF24L01 SPI接口并使用模块进行无线通信(发送和接收)
【2025·STM32峰会】GUI解决方案实训分享2-编译运行TouchGFX咖啡机例程(含桌面仿真)
实战经验 | Keil工程使用NEAI库的异常问题
STM32 ISP IQTune:真正零门槛的免费ISP调整软件
【经验分享】STM32 新建基于STM32F40x 固件库的MDK5 工程
意法半导体MCU双供应链策略,打消中国客户后顾之忧
2024意法半导体工业峰会:赋能智能电源和智能工业,构筑可持续未来
ST推出灵活、面向未来的智能电表通信解决方案,助力能源转型
意法半导体 x Qu-Bit Electronix:推动新一轮的数字声音合成革命
从STM32 MPU产品看嵌入式系统中微处理器的新变化