什么是嵌入式操作系统
在传统的单片机编程中,通常采用的是裸机编程开发,即在一个大循环内运行功能代码。
随着应用程序的加大及功能的复杂,裸机运行往往很难满足要求,甚至使编程变得更加复杂,这时就需要考虑引入 RTOS 实时操作系统实现多任务管理
市面上 RTOS 种类繁多,FreeRTOS只是其中一种,也是受欢迎程度比较高的一款实时操作系统
FreeRTOS 简介
看一下 FreeRTOS 的名字,可以分为两部分:Free 和 RTOS,Free 就是免费的、自由的、不受约束的意思,RTOS 全称是 Real Time Operating System,中文名就是实时操作系统。
可以看出 FreeROTS 就是一个免费的 RTOS 类系统。这里要注意,RTOS 不是指某一个确定的系统,而是指一类系统。比如 UCOS、FreeRTOS、RTX、RT-Thread 等这些都是 RTOS 类操作系统。
FreeRTOS 运作机制
操作系统允许多个任务同时运行,这个叫做多任务,实际上,一个处理器核心在某一时刻只能运行一个任务
任务是什么?
任务就是一个函数,函数内的代码执行特定的功能
下面这个函数在FreeRTOS中就是一个任务,叫任务函数
Note : 每一个任务函数内都有一个循环,和裸机编程main函数一样
裸机编程只有一个main函数在执行
FreeRTOS相当于多个main函数在切换执行,每一个都是独立的存在
这就组成了多任务
void Add()
{
int a,b = 1,2 ;
while(1)
{
printf("a + b = %d"