从这篇文章开始,大家就进入到了FreeRTOS的学习之路。
那么,从这里开启学习的第一课如何使用cubeMX配置FreeRTOS工程
文章目录
- 前言
- 一、使用 cubeMX 配置 FreeRTOS
- 二、CMSIS 接口
- 总结
前言
一、使用 cubeMX 配置 FreeRTOS
- 选择 stm32 芯片。
- 选择外部晶振作为高速时钟。
- 进行系统配置。这里要勾选Debug 便于后续进行仿真调试。由于 FreeRTOS 是基于系统定时器的,所以创建 stm32 工程时要使用其他的定时器来进行计时。这里我使用的是定时器 TIM16。
- 配置系统时钟树。这里可以直接写入最大的频率,然后 回车(enter) 两次,系统则会自动配置时钟树。
- 设置工程的名字(英文的),路径(英文的),工具链。
- 由于不同的单片机的性能可能不同,所以这里只添加必须的库即可。设置自动生成 .c/ .h 文件。
- 如果要使用串口打印数据,则可以配置串口。这里我选择 串口 1 进行打印数据。将 串口 1设置为异步通信串口的波特率要与自己的串口助手的波特率保持一致。
- 配置 FreeRTOS,。这里使用 CMSIS_V2 最新的版本,主要是提供相同接口的函数,便于我们编写代码。
- 在下面就可以点击 add 去创建 任务,互斥量,信号量,队列等。
- 生成工程。
二、CMSIS 接口
前面我们设置了 CMSIS。 其实这个 CMSIS 有两个版本:CMSIS_V1 和 CMSIS_V2 。
这里我们选择最新版本的 CMSIS_V2 具有更好的兼容性。
CMSIS的英文全称是:Common Microcontroller Software Interface Standard,直译过来就是“通用微控制器软件接口标准”;
它是一个用来让微控制器开发者减少学习时间、简化软件移植、加速工程创建仿真和加速应用产品上架的工具集合;
CMSIS的作用:
1.提供了接口标准,便于移植和管理
2.提供了很多第三方固件,便于业务开发
3.因为统一了接口,使底层硬件和上层应用耦合降低,更换硬件平台时只需开发人员改变底层硬件的驱动即可,上层业务应用程序无需做改动
总结
下篇文章将正式开始学习 FreeRTOS 的任务管理。