如何轻松几步实现在STM32上运行FreeRTOS任务

之前文章做过一次调查,尽然有大部分人都没有接触过rtos,希望本文能带领那部分朋友入门。
1写在前面
以前想要在stm32上跑freertos操作系统,还需要自己一步一步的移植freertos代码。
现在使用stm32cubemx工具,就不需要这么繁杂的移植工作,只需轻松几步就能让freertos跑起来。
本文以stm32l412(nucleo-l412kb板卡)为例,其它stm32型号类似。
同时,使用目前(2019.06)最新的mdk和stm32cubemx工具。因此,需要提前下载安装工具和软件包。
2准备工作
主要有三类:
mdk-arm (含软件包)
stm32cubemx (含软件包)
freertos源码(可选)
2.1 mdk-arm(含软件包)
这里需要下载安装mdk-arm,以及stm32对应的软件包。
官方安装包地址:
http://www.keil.com/download/product
官方软件包地址:
http://www.keil.com/dd2/pack
具体安装,使用方法可以参看我之前整理的专栏文章:【专栏】keil系列教程
2.2 stm32cubemx (含软件包)
这里也是一样,需要下载安装stm32cubemx,以及stm32对应的软件包。
官方下载地址:
www.st.com/stm32cubemx
具体安装,使用方法可以参看我之前整理的专栏文章:【专栏】stm32cubemx系列教程
提示:软件包里包含freertos源码,但不是最新的。
2.3 freertos源码
上面stm32cube软件包其实包含了freertos源码,但不是最新版本。
freertos官网:
www.freertos.org
如果想使用最新版本,或指定某一版本,可以到下面地址下载:
https://sourceforge.net/projects/freertos/files/freertos
上面地址包含freertos历史版本,如果使用指定版本,将源码替换即可(一本来说都兼容)。
3stm32cubemx创建工程
有了stm32cubemx这个工具,开发stm32变得更加快捷。
本文以stm32l412kb为例,其它stm32型号原理类似。
1.打开软件,进入选择器
2.选中mcu
3.led引脚配置
4.uart输出配置
这里配置成异步模式之后,引脚自动配置(我的开发板rx引脚不是默认,则需要自己配置)。
5.使能freertos
6.配置freertos任务
这里创建两个freertos任务:task1和task2。
提示:针对初学者,使用stm32cubemx配置freertos时,大部分参数默认即可。
当你熟悉之后,可以进一步掌握每项参数。
7.配置时钟
这里选择msi作为时钟源,进行倍频,是系统时钟达到80m。
8.工程管理配置
这里参数是常规配置,可参看我教程:【专栏】stm32cubemx系列教程
9.生成并打开工程
4源码分析
4.1 在两个任务中添加应用程序
提示:这里使用了huart2,所以需要包含:#include usart.h
4.2 说明
任务task1:间隔500ms闪烁(变化)一次led(pb3)。
任务task2:间隔1000ms,串口uart2发送一次数据“demo...”
osdelay函数代表系统延时,单位ms.
然后,就是led闪烁,和uart发送函数。
4.3 编译下载运行
上面步骤完成之后,就可以编译,然后直接下载运行了,通过串口调试助手可以看见输出字符“demo...”。
5工程及源码下载
为方便初学者,这里提供对应工程和源码,方便大家学习。
百度网盘:
https://pan.baidu.com/s/1idsuilqqfhujyxmi6ec7dq
提取码:7k5i
提示:公号不支持外部链接,请复制链接到浏览器打开。
链接后期可能会失效,关注公众号『strongerhuang』及时获取动态。
推荐阅读:
1.工信部宣布5g商用牌照即将发放!
2.ic封装原理及功能特性汇总

双11最强的电视盒子是哪款?2022电视盒子排名新鲜出炉
电源变压器方式和开关方式的优缺点
怎样将STM32F4xx标准外围设备库与MikroC Pro for ARM集成
国产74系列逻辑8位同步二进制下计数器
!供应/维修HP8593E频谱分析仪HP 8593E小兵/罗
如何轻松几步实现在STM32上运行FreeRTOS任务
Apple的新iPad Air将开始预订
BACnet以太网IO模块:打造大学能源建筑系统的智能核心
防水及防破坏键盘使用压电圆片作为传感器和蜂鸣器
一文看懂断相保护器接线图解说明
Fairchild车载FL7734可调光LED照明解决方案
电连接器的作用是什么
带有密码的Arduino门锁的制作
传统LED整体平淡 Mini/Micro LED等先进技术正逐步渗透
公司为人工智能和自动化革命应做好哪些准备
微软宣布推出Windows 10物联网核心服务
芯翼信息科技携基于XY100的NB-IoT智能模组及行业应用终端精彩亮相MWC上海展
优化天线连接,提升物联网设备功率与效率
电子芯闻早报:英特尔更强i7-6950X重出江湖
TTL转485,自动流向,PCB BOM