在上篇文章中,我们生成了不带RTOS的LWIP工程,本篇讲述如何生成带RTOS的LWIP工程,RTOS选择FreeRtos,CubeMX工程以上篇文章中的工程为基础。
文章目录
- 一 使能FreeRtos
- 二 生成Keil工程并使用
- 三 小结
一 使能FreeRtos
打开上篇文章中的CubeMX工程,
打开后,在Middleware里点击FREERTOS,然后在右侧选择V1版本,
在配置里把FPU打开,因为Cortex-M4支持浮点运算,
然后点击Tasks and Queues,可以看到默认添加了一个task,这个task里会默认进行LWIP的初始化,
这里把Stack size由128改成512,如果不改,运行时会因为栈空间不够而崩溃,直接进入hard fault中断,
这样配置就完成了!
这里在去看下Connectivity下的ETH,可以看到自动变成中断模式,同时还有一些其它改变,都是默认帮用户设置好的。
二 生成Keil工程并使用
点击CubeMX右上角的GENERATE CODE按钮,如下,
这样就会生成对应的Keil工程。
打开重新生成的Keil工程,然后编译并下载,注意要使用全编译,即点击如下按钮,
下载后按一下复位键,此时再打开dos窗口进行ping,
成功!
Note:这次不用在main.c里添加MX_LWIP_Process(),因为这个api是用在polling模式下的,使用RTOS后会使用中断模式,就不需要这个api了。
三 小结
本文在先前的LWIP工程基础上使能了FreeRtos,并运行成功,可以看出CubeMX是非常好用的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)