一,RTOS的全称是Real time operating system,中文就是实时操作系统
FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。
由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单片机上运行
二,FreeRTOS 实现多任务的原理
FreeRTOS其实并不是实时操作系统,它是分时复用的
系统将时间分割成很多时间片,然后轮流执行各个任务。每个任务都是独立运行的,互不影响,由于切换的频率很快,就感觉像是同时运行的一样。
三,使用STM32CuberMX创建工程文件的常见问题
3.1 Timebase Source 为什么不能设置SysTick?
裸机的时钟源默认是 SysTick,但是开启 FreeRTOS 后,FreeRTOS会占用 SysTick (用来生成1ms 定时,用于任务调度),所以需要需要为其他总线提供另外的时钟源:比如我设置TIM2
3.2 版本问题
V1版本够用了
3.3 FreeRTOS各配置选项卡解释
Events:事件相关的创建
Task and Queues: 任务与队列的创建
Timers and Semaphores: 定时器和信号量的创建
Mutexes: 互斥量的创建
FreeRTOS Heap Usage: 用于查看堆使用情况
config parameters: 内核参数设置,用户根据自己的实际应用来裁剪定制 FreeRTOS 内核
Include parameters: FreeRTOS 部分函数的使能
User Constants: 相关宏的定义,可以自建一些常量在工程中使用
Advanced settings:高级设置
四,内核配置,函数使能的一些翻译