OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8570|回复: 7

LWIP+UCOSIII 移植成功 平台正点原子战舰版V3 STM32F103芯片 网络芯片DM9000

[复制链接]

9

主题

93

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2016-5-4
在线时间
58 小时
发表于 2017-9-3 21:24:18 | 显示全部楼层 |阅读模式
本帖最后由 飘逸心晴 于 2017-9-3 21:28 编辑

前言:最近离职后在家深造,把STM32有关的知识深造一遍之后综合起来做个实际项目,再去入职。首先是UCOSIII的学习,主要学习正点原子提供的视频教程,然后自己买了一本视频里面推荐的书,由UCOSIII创始人Jean J. Labrosse编写的《嵌入式实时操作系统 μC/OS-III》,这本书作为工具书不错,内容条理清晰、通俗易懂、全面,配合视频和实操一起学习UCOSIII是很不错的选择。

学习完UCOSIII之后就学习STemWim,发现有点枯燥,就先学LWIP。LWIP里面有两种,一种是不带操作系统的,称为RAM编程;另一种是带操作系统的,称为NETCONN编程和SOCKER编程。刚刚学完UCOS系统,自然是要朝着带操作系统的发展,结果一看,视频教程是UCOSII的,顿时有点傻眼,不是说UCOSII不好,而是刚刚学完UCOSIII,如果把LWIP搭载在UCOSIII上面,不仅是更优良的方案,而且对UCOSIII也是一种复习加实践,所以视频虽然是搭载了UCOSII,但我决心把LWIP搭载在UCOSIII上,想起来也不是很难,于是说干就干。


但是做的没有想的那么简单,失败了两次,每次耗费三四个小时,很是枯燥。于是在困难失败面前产生了分水岭,一条路是继续,另一条路是放弃。很显然,要走第一条路,于是先不移植,先把LWIP的知识浏览一遍回过头来再UCOSIII移植到LWIP上面,可能会有意想不到的结果。昨天把LWIP的RAW基本浏览了一遍,觉得机会来了,泡杯茶,开始移植。


移植参考的资料有:
1、正点原子出的《STM32F1 LWIP开发手册(DM9000版)》      这里面有移植操作系统需要修改的一些文件,并且介绍了为什么要修改,是为了达到什么目的
2、正点原子出的 “网络实验2 LWIP带UCOS操作系统移植”例程     这里面的代码具有一定的代表性,虽然UCOSIII和UCOSII有区别,但是总体思想是不变的,所以以它为蓝本
3、左忠凯前辈分享的一个例程,见帖子二楼:http://www.openedv.com/forum.php ... ight=UCOSIII%2BLWIP
     这个例程使用的是STM32F407+ENC28J60网络芯片,而我用的是 STM32F103+DM9000网络芯片


以上三个资料都不能完全照搬,三个资料有两两交叉相同的部分,把交叉的部分提取出来,再根据自己的板子和芯片做一部分修改,所以这三个资料都要用到。


移植过程需要特别做的修改主要有以下几点:
1、LWIP有一个cpu.h 而UCOSIII也有一个 cpu.h(UCOSII则没有cpu.h),所以需要把LWIP的cpu.h文件改名为lwip_cpu.h,并把代码中的也修改。这一点也是上面链接中帖主出现的问题。
2、UCOSII和UCOSIII的部分API函数及内核对象类型命名有不同,这一点以左前辈的例程为蓝本,能移植的移植过来。
3、在将左前辈的例程部分复制过来之后,下载到板子上发现能够实现DHCP分配动态IP,但是PING不通,偶然的机会发现lwipopts.h中,可以配置是由硬件进行校验还是由软件进行校验,这个文件里面明确指出STM32F407可以实现硬件校验,而STM32F103是不能够实现硬件校验的,所以修改相关代码,使LWIP配置成软件校验。


经过五个小时的奋战,移植大体成功,能够实现DHCP分配动态IP,可以通过PC机长时间PING而不丢包,可以使用NETCONN编程进行UDP通信(发送与接收)。

另外由于个人能力有限,因此在系统的内存管理方面,可能还有比较大的优化余地,现把成果分享给大家,希望对在学习LWIP+UCOSIII的人具有一定的参考价值,也欢迎大家指出不足之处。

LWIP UCOSIII 实验.zip (18.3 MB, 下载次数: 3554)
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

178

帖子

0

精华

高级会员

Rank: 4

积分
524
金钱
524
注册时间
2016-12-31
在线时间
195 小时
发表于 2017-9-18 12:31:30 来自手机 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
114
金钱
114
注册时间
2016-7-26
在线时间
28 小时
发表于 2017-9-26 17:03:49 | 显示全部楼层
加油,你这么努力,也希望有好的结果
回复 支持 反对

使用道具 举报

69

主题

269

帖子

0

精华

高级会员

Rank: 4

积分
974
金钱
974
注册时间
2014-7-4
在线时间
236 小时
发表于 2017-10-26 20:58:02 | 显示全部楼层
原子ucos视频在哪啊
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2017-8-25
在线时间
19 小时
发表于 2017-11-24 21:30:33 | 显示全部楼层
赞。。
回复 支持 反对

使用道具 举报

1

主题

87

帖子

0

精华

初级会员

Rank: 2

积分
162
金钱
162
注册时间
2018-11-7
在线时间
16 小时
发表于 2018-11-11 19:35:58 | 显示全部楼层
谢谢楼主分享,帮顶  !
回复 支持 反对

使用道具 举报

5

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
186
金钱
186
注册时间
2017-12-12
在线时间
58 小时
发表于 2019-12-18 10:28:37 | 显示全部楼层
帮顶,谢谢楼主分享,小白学习中
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2019-12-20
在线时间
7 小时
发表于 2019-12-20 13:44:38 | 显示全部楼层
zan
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 16:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表