uCOS-II学习笔记之- uCOS-II实时操作系统的特点
uCOS-II的特点:
1、可移植性:uCOS-II源码绝大部分源码使用移植性很强的ANSI C写的,与处理器硬件相关的部分是用汇编语言写的。汇编语言写的部分已经压缩到最低限度,以使uCOS-II便于移植到其它微处理器上。
2、可固化:uCOS-II是为嵌入式应用而设计的,这就意味着,只要具备合适的系列软件工具(C编译、汇编、链接及下载/固化),实际上就可以将uCOS-II嵌入到产品中作为产品的一部分。
3、可裁剪:可以使用uCOS-II中应用程序需要的系统服务。也就是说,某产品可以只使用很少几个uCOS-II调用,而另一个产品则可能使用了几乎所有uCOS-II的功能,这样可以减少uCOS-II所需的存储器空间(RAM和ROM)。可裁剪性是靠条件编译实现的,只要在用户的应用程序中(用#define constants语句)定义哪些uCOS-II中的功能是应用程序需要的就可以了。
4、可剥夺性:uCOS-II是完全可剥夺型的实时内核,即uCOS-II总是运行就绪条件下优先级最高的任务。
5、多任务:uCOS-II2..90可以管理多大256个任务。然而笔者建议用户保留8个给uCOS-II。赋予每个任务的优先级必须是不同的,这意味着uCOS-II不支持时间片轮转调度法-该调度法适用于调度优先级平等的任务。
6、可确定性:绝大多数uCOS-II的函数调用和服务的执行具有可确定性。也就是说,用户总是能知道uCOS-II的函数调用与服务执行了多长时间。进而可以说,除了函数OSTimeTick()和默写标致服务,uCOS-II系统服务的执行事件不依赖与用户程序任务数目的多少。
7、任务栈:每个任务都有自己单独的栈。uCOS-II允许每个任务有不同的栈空间,以便压低应用程序对RAM的需求。使用uCOS-II的栈空间校验函数,可以确定每个任务到底需要多少栈空间。
8、系统服务:uCOS-II提供很多系统服务,例如信号量、互斥信号量、事件标志、消息邮箱、消息队列、信号量、块儿代谢哦啊固定的内存的申请与释放及时间管理函数。
9、中断管理:中断可以使正在执行的任务暂时挂起。如果优先级更高的任务被该中断唤醒,则高优先级的任务在中断嵌套全被推出后立即执行,中断嵌套层数可大255层。
10、稳定性与可靠性:uCOS-II在一个航空项目中得到了美国联邦航空管理局对于商用飞机的、符合RTCA DO-178B标准的认证。

浙公网安备 33010602011771号