硬汉嵌入式论坛

 找回密码
 立即注册
查看: 12419|回复: 13
收起左侧

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

[复制链接]

2

主题

8

回帖

30

积分

新手上路

积分
30
发表于 2016-9-18 10:48:55 | 显示全部楼层 |阅读模式
      大家好,都知道相对ucos,freeRTOS是个免费软件,也是目前同类产品市场占有率最高的,可以光明正大的不花钱使用,因此花点心思研究一下使用是值得的。

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

使用道具 举报

2

主题

8

回帖

30

积分

新手上路

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

使用道具 举报

2

主题

8

回帖

30

积分

新手上路

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

使用道具 举报

5

主题

31

回帖

46

积分

新手上路

积分
46
发表于 2016-9-20 23:09:47 | 显示全部楼层
哈,感谢分享。
回复

使用道具 举报

2

主题

8

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2016-9-21 17:26:44 | 显示全部楼层
没人给出实验后的分析结论么?鼓励大家下载后反复调试研究,这么好的帖子居然人气也不行,今天自己顶一下。 [s:141]
回复

使用道具 举报

2

主题

8

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2016-9-28 22:44:52 | 显示全部楼层
几天没来,我的帖子沉到湖底了[s:128] 。串口问题今天抽空看了一下,是因为时钟配置不对,请大家根据自己的板子晶振正确配置一下。
回复

使用道具 举报

610

主题

3050

回帖

4900

积分

至尊会员

积分
4900
发表于 2016-10-1 21:52:28 | 显示全部楼层
不错不错啊,学习中
回复

使用道具 举报

100

主题

275

回帖

575

积分

金牌会员

积分
575
发表于 2017-7-31 09:43:16 | 显示全部楼层
问题解决了吗
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2017-8-7 20:30:49 | 显示全部楼层
好贴啊,问题解决了没?
回复

使用道具 举报

0

主题

1

回帖

0

积分

新手上路

积分
0
发表于 2017-10-26 17:04:25 | 显示全部楼层
[s:151]
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2017-10-31 10:56:12 | 显示全部楼层
谢谢楼主提供的资源!!
回复

使用道具 举报

2

主题

5

回帖

76

积分

初级会员

积分
76
发表于 2018-5-7 13:50:21 | 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

2

主题

51

回帖

57

积分

初级会员

积分
57
发表于 2020-3-16 15:56:33 | 显示全部楼层
我碰到了一样的问题,还没解决
回复

使用道具 举报

0

主题

22

回帖

22

积分

新手上路

积分
22
发表于 2020-5-24 09:56:05 | 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 11:56 , Processed in 0.220320 second(s), 33 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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