一、什么是 FreeRTOS ?
FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。 由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。相对μC/OS-II、embOS等商业操作系统,FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行。
二、为什么选择 FreeRTOS ?
•FreeRTOS 是免费的;
•很多半导体厂商产品的SDK(Software Development Kit)软件开发工具包,就使用FreeRTOS作为其操作系统,尤其是WIFI、蓝牙这些带有协议栈的芯片或模块;
•简单,因为FreeRTOS的文件数量很少。
三、祼机开发与 FreeRTOS
•祼机开发:
玩游戏,结果女朋友生气,分手!
陪女朋友,无法玩游戏,抑郁症!
•FreeRTOS:
玩1秒游戏 -- 陪1秒女朋友 -- 玩1秒游戏 -- 陪1秒女朋友 -- 玩1秒游戏 -- 陪1秒女朋友 .... (累死……),但 CPU 是个无情的战斗机器,可以快速在两个乃至多个任务间快速切换,并且不觉得劳累,实现二者兼顾。
•FreeRTOS 实现多任务的原理
严格来说 FreeRTOS 并不是实时操作系统,因为它是分时复用的。系统将时间分割成很多时间片,然后轮流执行各个任务。
每个任务都是独立运行的,互不影响,由于切换的频率很快,就感觉像是同时运行的一样。