你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32移植LWIP

[复制链接]
aimejia 发布时间:2018-5-25 10:51
本帖最后由 aimejia 于 2018-5-25 10:56 编辑

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

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

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

添加以太网驱动库

1.png

2.png

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

3.png

将LWIP源码放入目录中

4.png

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

5.png

6.png

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

7.png

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

8.png

添加以太网RTL8201EL的驱动程序

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

9.png

10.png

然后把驱动添加进入工程

11.png

添加lwip源代码

12.png 13.png

14.png 15.png

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

16.png

添加中间文件

17.png

添加lwipopts.h

18.png

编译出错

19.png

把他们屏蔽掉

20.png

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

21.png

修改之后,没有问题

22.png

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

23.png

24.png

25.png

把原来的文件删除掉

26.png

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

修改文件

27.png

新建lwip_app.c和lwip_app.h文件

28.png

29.png

30.png
定义一下宏

31.png

包头文件包含一下

32.png

修改函数

33.png

修改主函数

34.png

实验

35.png

移植成功

修改Keil工程

添加文件

36.png
添加头文件路径

37.png

有1个错误

38.png
  1. [cpp] view plain copy

  2. #if defined   (__CC_ARM) /*!< ARM Compiler */  

  3. u32_t sys_now(void){}  

  4. #endif  
复制代码

编译下载,发现ping会死机

修改代码优化等级就好了
39.png

测试成功

40.png


转载自Firefly-cjd

收藏 评论1 发布时间:2018-5-25 10:51

举报

1个回答
MrJiu 回答时间:2018-5-25 10:59:18
支持!!!

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版