欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

STM32移植LWIP

程序员文章站 2022-04-01 16:21:38
...

本文使用的是STM32F207VCT6平台,MII接口的RTL8201EL网络芯片,LWIP版本是1.4.1

基础工程是:已经实现了10ms定时,led灯1s闪烁,还有串口打印

欢迎查看本文所在的系列,STM32的LWIP应用,点击跳转

本文使用的IDE是IAR7.2,考虑到很多很使用Keil,本文末尾也有keil版本的说明

添加以太网驱动库

STM32移植LWIP

STM32移植LWIP

添加进工程,增加新库的头文件路径

STM32移植LWIP

将LWIP源码放入目录中

STM32移植LWIP

我们把stm32f2x7_eth_conf_template.h文件剪切到文件夹中,并重命名为stm32f2x7_eth_conf.h

STM32移植LWIP

STM32移植LWIP

当然新加的头文件,要添加新的头文件路径

STM32移植LWIP

注意:这个文件是只读文件,要把对勾去掉

STM32移植LWIP

添加以太网RTL8201EL的驱动程序

我们首先拷贝官方历程驱动(PS:修改过的)

STM32移植LWIP

STM32移植LWIP

然后把驱动添加进入工程

STM32移植LWIP

添加lwip源代码

STM32移植LWIPSTM32移植LWIP

STM32移植LWIPSTM32移植LWIP

当然,还要添加头文件路径

STM32移植LWIP

添加中间文件

STM32移植LWIP

添加lwipopts.h

STM32移植LWIP

编译出错

STM32移植LWIP

把他们屏蔽掉

STM32移植LWIP

再编译,出新的错误,再次屏蔽

STM32移植LWIP

修改之后,没有问题

STM32移植LWIP

复制驱动,直接使用官方demo

STM32移植LWIP

STM32移植LWIP

STM32移植LWIP

把原来的文件删除掉

STM32移植LWIP

重新添加我们新添加的文件(解除只读属性)

修改文件

STM32移植LWIP

新建lwip_app.c和lwip_app.h文件

STM32移植LWIP

STM32移植LWIP

STM32移植LWIP

定义一下宏

STM32移植LWIP

包头文件包含一下

STM32移植LWIP

修改函数

STM32移植LWIP

修改主函数

STM32移植LWIP

实验

STM32移植LWIP

移植成功


修改Keil工程

添加文件

STM32移植LWIP

添加头文件路径

STM32移植LWIP

有1个错误

STM32移植LWIP

#if defined   (__CC_ARM) /*!< ARM Compiler */
u32_t sys_now(void){}
#endif

编译下载,发现ping会死机

修改代码优化等级就好了

STM32移植LWIP

测试成功

STM32移植LWIP

   

如果看文字版太枯燥,可以点击看视频版:点击跳转

相关标签: STM32 LWIP