参考:链接: 正点原子
一、认识裸机和RTOS
裸机是无操作系统支持,程序直接运行在硬件上,开发者要自行处理硬件细节。早期单片机常采用,优点是性能和资源利用率高,缺点是开发难、可移植性差。RTOS 是实时操作系统,对任务响应有严格要求,如汽车制动系统。它能减轻开发负担,但会占用资源影响性能。两者各适用于不同场景
裸机特点:
1、实时性差
2、延时函数delay时候是空等待不做任何工作的
3、结构臃肿
RTOS特点:
1、实现功能划分为多个任务
2、任务调度
3、 高优先级任务抢占低优先级任务
4、每个任务都有自己的栈空间
FreeRTOS:
是一个免费的嵌入式实时操作系统
1、免费开源
2、可裁剪
3、简单
4、优先级不限
5、任务不限
6、 抢占/协程/时间片
7、主流
抢占式调度:
1、【任务设置的数值越大,优先级越高】;
2、高优先级任务不停止,低优先级任务无法执行;
3、被抢占的任务将会进入就绪态;
时间片调度:
1、同等优先级任务,轮流执行,时间片流转
2、一个时间大小,取决为滴答定时器中断周期
3、没有用完的时间片不会再使用
任务状态
资料整理
1、FreeRTOS官网:https://www.freertos.org/
二、FreeRTOS移植
1、源码获取
FreeRTOS官网:https://www.freertos.org/
2、FreeRTOS移植
链接: link