FreeRTOS¶
简介¶
针对嵌入式设备的开源实时操作系统,支持众多的微处理器。创始人 Richard Barry,诞生于 2003 年,完全开源、免费,轻量级嵌入式实时操作系统。C 和汇编来写的,其中绝大部分都是用 C 语言编写的,只有极少数的与处理器密切相关的部分代码才是用汇编写的。在嵌入式领域,FreeRTOS是不多的同时具有实时性,开源性,可靠性,易用性,多平台支持等特点的嵌入式操作系统。目前,FreeRTOS已经发展到支持包含X86,Xilinx,Altera等多达30种的硬件平台
主要功能:
任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,
可基本满足较小系统的需要。
主要特点:
源码公开、可移植、可裁剪、调度策略灵活,
可以方便移植到各种单片机上运行。
FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。
FreeRTOS内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU的使用时间。
FreeRTOS的不足:
相对于常见的μC/OS—II操作系统,FreeRTOS操作系统既有优点也存在不足。
其不足之处:
1. 体现在系统的服务功能上,
如FreeRTOS只提供了消息队列和信号量的实现,无法以后进先出的顺序向消息队列发送消息;
2. FreeRTOS只是一个操作系统内核
需外扩第三方的GUI(图形用户界面)、TCP/IP协议栈、FS(文件系统)等才能实现一个较复杂的系统,
不像μC/OS-II可以和μC/GUI、μC/FS、μC/TCP-IP等无缝结合。
源码¶
FreeRTOS源码目录:
FreeRTOS-Plus 包含FreeRTOS+组件和演示例程;
FreeRTOS 包含FreeRTOS实时内核源文件和演示例程