Bootstrap

一,STM32cubeMX配置FreeRTOS工程

从这篇文章开始,大家就进入到了FreeRTOS的学习之路。
那么,从这里开启学习的第一课如何使用cubeMX配置FreeRTOS工程

前言


一、使用 cubeMX 配置 FreeRTOS

  1. 选择 stm32 芯片。
    在这里插入图片描述
  2. 选择外部晶振作为高速时钟。
    在这里插入图片描述
  3. 进行系统配置。这里要勾选Debug 便于后续进行仿真调试。由于 FreeRTOS 是基于系统定时器的,所以创建 stm32 工程时要使用其他的定时器来进行计时。这里我使用的是定时器 TIM16。在这里插入图片描述
  4. 配置系统时钟树。这里可以直接写入最大的频率,然后 回车(enter) 两次,系统则会自动配置时钟树。
    在这里插入图片描述
  5. 设置工程的名字(英文的),路径(英文的),工具链。
    在这里插入图片描述
  6. 由于不同的单片机的性能可能不同,所以这里只添加必须的库即可。设置自动生成 .c/ .h 文件。
    在这里插入图片描述
  7. 如果要使用串口打印数据,则可以配置串口。这里我选择 串口 1 进行打印数据。将 串口 1设置为异步通信串口的波特率要与自己的串口助手的波特率保持一致。
    在这里插入图片描述
  8. 配置 FreeRTOS,。这里使用 CMSIS_V2 最新的版本,主要是提供相同接口的函数,便于我们编写代码。
    在这里插入图片描述
  9. 在下面就可以点击 add 去创建 任务,互斥量,信号量,队列等。
    在这里插入图片描述
  10. 生成工程。
    在这里插入图片描述

二、CMSIS 接口

前面我们设置了 CMSIS。 其实这个 CMSIS 有两个版本:CMSIS_V1 和 CMSIS_V2
这里我们选择最新版本的 CMSIS_V2 具有更好的兼容性。
在这里插入图片描述
CMSIS的英文全称是:Common Microcontroller Software Interface Standard,直译过来就是“通用微控制器软件接口标准”;

它是一个用来让微控制器开发者减少学习时间、简化软件移植、加速工程创建仿真和加速应用产品上架的工具集合;

CMSIS的作用
1.提供了接口标准,便于移植和管理
2.提供了很多第三方固件,便于业务开发
3.因为统一了接口,使底层硬件和上层应用耦合降低,更换硬件平台时只需开发人员改变底层硬件的驱动即可,上层业务应用程序无需做改动


总结

下篇文章将正式开始学习 FreeRTOS 的任务管理。

;