RTOS:Real-time operation system 实时操作系统
比如UCOS,FreeRTOS,RTX,RT-Thread 等这些都是RTOS类操作系统 。
为什么使用操作系统?
通常裸机会使用中断去处理优先级高的函数,但是中断是一瞬间的事情,不能处理太多函数。
引入操作系统,就是加入任务调度,可以更充分更合理利用CPU,能够应对更多复杂的场合。
为什么是FreeRTOS?
文件数量少,文档相对齐全。用的厂商多,社会占有量高。
获取源码
官网FreeRTOS下载
Source里面是真正的源码,Demo官方演示例程,里面有配置文件。
source:
include:包含了FreeRTOS的头文件
portable:包含了FreeRTOS的移植文件
portable文件夹里面的东西就是连接桥梁 由于我们使用MDK开发,因此这里只需要其中的三个移植文件,其他可以删掉。
portable:
只保留这三个文件:
开始移植
开发板选择探索者STM32F407ZG。,使用正点原子例程37内存管理实验
1.将FreeRTOS源码添加至基础工程、头文件路径等
新建FreeRTOS文件夹
将source中的源码添加到该文件夹, 删除.gitmodules
打开工程,添加两个分组:
对每个分组添加相应的代码:
将source中的.c文件添加到FreeRTOS_CORE组
port.c文件在FreeRTOS\portable\RVDS\ARM_CM4F(根据开发板选择相应的port.c)
heap_4.c文件在FreeRTOS\portable\MemMang
添加头文件:
添加FreeRTOSConfig.h 配置文件
个人觉得从官方例程中直接拿来用最方便,当然也可以从demo\CORTEX_M4F_STM32F407ZG-SK获取。