OpenEdv-开源电子网

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

一个freeRTOS+LWIP在STM32F407上的移植例子

[复制链接]

8

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2016-4-18
在线时间
25 小时
发表于 2016-9-17 23:00:16 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 大毛桃 于 2016-9-17 23:00 编辑

     大家好,都知道相对ucos,freeRTOS是个免费软件,也是目前同类产品市场占有率最高的,可以光明正大的不花钱使用,因此花点心思研究一下使用是值得的。

     可惜原子哥他们还没有提供freeRTOS的学习资料,那我们只好自己摸索尝试了。
     本帖子是一个在MDK环境下移植后的freeRTOS和LWIP的工程压缩包(在帖子最后),用于和大家共同探讨移植问题,压缩包解压后,在路径STemWin5.22+FreeRTOS+Fatfs-LWIP\Project\MDK-ARM(uV4)下点击Template.uvproj打开(不要打开IAR那个文件夹)。文件文件夹中有1.4.1和1.3.2两个版本的LWIP,工程中使用的是后者。
     工程中用到的开发板上资源为:MCU是STM32F407ZET6,DP83848VVPHY,以及连接在PE4引脚上的闪烁LED代表操作系统没挂掉。在原子的板子上跑时稍微改动一下,将驱动改为针对L8720的(就是将驱动文件中PHY的状态寄存器和地址寄存器值对照原子以前的LWIP例程改改,应该比较简单)。MCU型号和LED对应的引脚也改改。
     好了,下面附几张运行的截图附带引出问题供大家研究探讨:      1ping 192.168.1.30成功了 pingjietu.jpg
      2开发板作为TCP客户端,运行基于socket的TCPecho例程,电脑作为服务器,连接成功,串口助手显示socket connect result [0](连接失败时显示socket connect result [-1]) kehuduanyufuwuqilianjie.jpg
      3服务器短以较短的时间间隔向开发板发内容,就是网络调试助手的默认字符“http://www.cmsoft.cn QQ:10865600”,这时很快,开发板就不行了,协议栈不再有反应,ping不通了,不过操作系统似乎还健在,因为由一个任务控制的LED还在顽强闪烁!网络调试助手中的发送间隔越小,问题出现速度越快。 buxingle.jpg
      4接上条,协议栈有时不行了的现象表现为TCPecho例程失效,同时ping的延时大大增加,会超时。此时如果在下图中网络助手的界面下连续点击“连接”按钮,ping也能ping通,只是延时很大。 pingshijianyanchang.jpg
       5附带一个问题:我在程序中将串口波特率初始化为115200,怎么最后在串口助手上非要设定在38400这个波特率上才能正常收到文字?
      好了,这些问题摆在这里,最后附上工程代码压缩包,供感兴趣的朋友们下载修改研究。帖子篇幅不多,但也是我花了近一小时编写的,如果问题排除了,大家不要忘了在这里回帖说说方法和总结,共同学习。如果研究的人多了,说不定原子会在年末下决心出个高质量的freeRTOS教材呢。源码中东拼西凑比较乱,高人们见笑了。     对了,工程中的STemwin和FATFS部分暂时没有试过,main函数中初始化的相关函数注释掉了,不参与例程运行。感兴趣要自己调试哦。 STemWin5.22 FreeRTOS Fatfs-LWIP.rar (10.64 MB, 下载次数: 7591)

最佳答案

查看完整内容[请看2#楼]

几天没来,我的帖子沉到湖底了。串口问题今天抽空看了一下,是因为时钟配置不对,请大家根据自己的板子晶振正确配置一下。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2016-4-18
在线时间
25 小时
 楼主| 发表于 2016-9-17 23:00:17 | 显示全部楼层
几天没来,我的帖子沉到湖底了。串口问题今天抽空看了一下,是因为时钟配置不对,请大家根据自己的板子晶振正确配置一下。
回复

使用道具 举报

8

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2016-4-18
在线时间
25 小时
 楼主| 发表于 2016-9-17 23:07:19 | 显示全部楼层
补充一下,朱升林(LWIP那些事的作者老衲五木)曾说ping延时逐渐加大似乎是因为网卡缓冲区内的数据包没有及时都取走(http://blog.sina.com.cn/s/blog_62a85b950102vsdt.html),还有帖子说是因为ethernetif.c里面的ethernetif_input没有处理好,到底怎么回事,就等高人出研究成果了。
回复

使用道具 举报

8

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2016-4-18
在线时间
25 小时
 楼主| 发表于 2016-9-18 23:41:02 | 显示全部楼层
打开工程时会弹出好几个提示框提示文件中包含有错误路径,这个可先不管,一直点击确定即可。打开后自己重新编译一下。没有错误提示,不过有好多个警告,请海涵!
回复

使用道具 举报

19

主题

430

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1341
金钱
1341
注册时间
2016-4-22
在线时间
187 小时
发表于 2016-9-19 08:41:26 | 显示全部楼层
网络要考虑吞吐量的问题,我在v3上测试过,64字节好像是5M多,如果是1518字节,能超过7M。当并不会说死掉。我怀疑你是不是overflow了。
伤情最是晚凉天,憔悴斯人不堪怜。
邀酒摧肠三杯醉,寻香惊梦五更寒。
钗头凤斜卿有泪,荼蘼花了我无缘。
小楼寂寞新雨月,也难如钩也难圆。
回复

使用道具 举报

8

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2016-4-18
在线时间
25 小时
 楼主| 发表于 2016-9-21 17:25:22 | 显示全部楼层
没人给出实验后的分析结论么?鼓励大家下载后反复调试研究,这么好的帖子居然人气也不行,今天自己顶一下。
回复

使用道具 举报

12

主题

77

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
352
金钱
352
注册时间
2014-1-22
在线时间
43 小时
发表于 2016-9-22 08:54:15 | 显示全部楼层
我现在也遇到这个问题了,但是出现这种情况的频率不固定。
网上五木说的一次处理完所有挂载在网卡上所有的数据包,我也试着做出了修改。
在ethnetif_input函数加了一个while()循环处理所有的包。
但是还是出现了ping时间越来越长乃至ping不同的情况。
烦恼中····
任何一件事情,只要心甘情愿,总是能够变得简单。
回复

使用道具 举报

8

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2016-4-18
在线时间
25 小时
 楼主| 发表于 2016-9-24 21:46:08 | 显示全部楼层
顶!没人试过吗
回复

使用道具 举报

9

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2012-12-3
在线时间
39 小时
发表于 2016-12-5 15:53:49 | 显示全部楼层
下载后连不上,楼主有最新的的调试程序吗,共享一下,研究研究
回复

使用道具 举报

9

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2012-12-3
在线时间
39 小时
发表于 2016-12-14 08:56:41 | 显示全部楼层
主要是下载后,根本就不通!!!
回复

使用道具 举报

8

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2016-4-18
在线时间
25 小时
 楼主| 发表于 2017-2-19 15:50:12 | 显示全部楼层
MCU型号对吗,网卡型号对吗,按照帖子开头说明的地方仔细检察过吗,LED闪烁了吗?电脑的网络配置合适吗,一点一点排查呀。我就直接用的压缩包中的程序的,是开始可以调通的,之后会出现问题。但后来无人回复也无暇顾及这些事情了,
回复

使用道具 举报

3

主题

8

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2015-10-28
在线时间
5 小时
发表于 2017-3-22 17:03:26 | 显示全部楼层
能把工程发到我邮箱里吗 939662143@qq.com 点击下载链接 转到迅雷下载 下载太慢了
回复

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2019-8-3
在线时间
30 小时
发表于 2020-8-18 18:50:33 | 显示全部楼层
编译后报了42个错误 怎么破
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2020-4-27
在线时间
4 小时
发表于 2021-3-9 12:02:34 | 显示全部楼层
感谢分享!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 15:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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