一、FreeRTOS简介
1.1RTOS与裸机系统
1.1.1裸机系统
裸机系统直接对硬件资源进行编程,将所有的功能函数都放在主循环中,同一时间内只能运行单一任务。裸机系统又称前后台系统:前台系统即中断服务函数,后台系统即运行的主循环。
在裸机系统内:
- 任务的先后顺序明显,且无法同时调用。
- 因为中断服务函数独立且任务单一,我们并不能频繁或长时间使用中断函数完成任务的切换使用。
- delay函数运行时系统空转,浪费资源。
1.1.2RTOS
RTOS,全称是 Real Time Operating System,即实时操作系统。操作系统内允许多个任务“同时运行”,这通过任务调度器快速来回切换并允许任务来实现。
在实时操作系统内:
- 任务可以同时运行,实时性强。
- 利用优先级分配可以使高优先级的任务抢占低优先级的任务运行。
- 某一任务运行到delay函数使任务调度器产生任务调度,极大利用资源。
- 同样支持中断服务。
1.2FreeRTOS特点
FreeRTOS 是众多RTOS类操作系统中的一种,FreeRTOS十分的小巧,可以在资源有限的微控制器中运行。FreeRTOS 操作系统是一个功能强大的RTOS操作系统,并且能够根据需求进行功能裁剪, 以满足各种环境的要求。特点如下:

FreeRTOS官网:FreeRTOS™ - FreeRTOS™
二、基于stm32F103C8T6标准库的keil移植
2.1准备基础工程
在开始移植 FreeRTOS 之前,需要提前准备好一个用于移植 FreeRTOS 的基础工程。博主以stm32标准库开发为基础,使用江协科技4-1OLED的工程为基础工程进行移植。基础工程可根据项目需求选取。

2.2获取FreeRTOS源码
通过FreeRTOS的官网:FreeRTOS™ - FreeRTOS™可以选择不同版本下载。
源码结构如下:
| FreeRTOS | FreeRTOS内核 |
| FreeRTOS-Plus | FreeRTOS组件 |
| tools |


6832

被折叠的 条评论
为什么被折叠?



