目录
一. 裸机与RTOS的特点
1.1 裸机的认识
裸机:裸机又称前后台系统,前台系统指的是中断服务函数,后台系统指的是大循环,即应用程序。
特点:
① 实时性差:应用程序轮流执行。
② 延时等待:在延时的时候,空等待,cpu不执行其他代码。
③ 结构臃肿:实现的功能都放在一个无限循环中。
1.2 RTOS的认识
RTOS:RTOS全称为Real Time OS,就是实时操作系统,强调的是实时。
特点:
① 分而治之:实现功能划分为多个任务
② 延时函数:任务调度
③ 抢占式 :高优先级任务抢占低优先级任务
④ 任务堆栈:每个任务都有自己的栈空间
注意:
A. 中断可以打断任意的任务。
B. 任务可以同等优先级。
C. 如果高优先级的任务一直在运行,会一直运行高优先级的任务。
二. Freertos的简介
2.1 什么是FreeRTOS?
我们看一下FreeRTOS 的名字,可以分为两部分:Free 和RTOS,Free 就是免费的、自由的、不受约束的意思,RTOS 全称是Real Time Operating System,中文名就是实时操作系统。RTOS 不是指某一个确定的系统,而是指一类系统。比如UCOS,FreeRTOS,RTX,RT-Thread 等这些都是RTOS 类操作系统。
FreeRTOS 是RTOS 系统的一种,FreeRTOS 十分的小巧,可以在资源有限的微控制器中运行,当然了,FreeRTOS 不仅局限于在微控制器中使用。但从文件数量上来看FreeRTOS 要比UCOSII 和UCOSIII 小的多。
2.2 为什么选择FreeRTOS?
1. 免费开源:商业产品中使用,无潜在商业风险
2. 可以裁剪:FreeRTOS的核心代码9000+行,包含3个.c文件中
3. 简单易用:可移植性好
4. 任务不限:可创建的实时任务数量没有软件限制
5. 时间片 : 支持抢占式,协程式,时间片流转调度