购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4.1 µC/OS-Ⅱ

1.µC/OS-Ⅱ简介

µC/OS-Ⅱ是一个用ANSI C语言编写的,包含一小部分汇编语言代码的抢占式实时多任务内核。µC/OS-Ⅱ已经从8位发展到64位,可在40多种不同架构的微处理器上使用,涉及的领域包括照相设备、航空、医疗器械、网络设备、自动提款机以及工业机器人等。

µC/OS-Ⅱ全部以源代码的方式提供给用户,大约有5 500行。µC/OS-Ⅱ可以在PC上开发和测试,并且可以很容易地移植到使用不同架构的嵌入式微处理器搭建的系统中。

2.µC/OS-Ⅱ的特点

(1)提供源代码。µC/OS-Ⅱ的源代码清晰易读、结构协调,且注解详尽、组织有序。

(2)可移植(Portable)。µC/OS-Ⅱ的源代码绝大部分是用移植性较强的ANSI C语言编写的,与微处理器硬件相关的部分是用汇编语言编写的。µC/OS-Ⅱ可以移植到使用不同的微处理器搭建的系统中,条件是该微处理器具有堆栈指针,具有CPU内部寄存器入栈、出栈指令,使用的C编译器必须支持内嵌汇编,或者该C语言可扩展和可链接汇编模块,使得关中断和开中断能在C语言程序中实现。

(3)可固化(ROMable)。µC/OS-Ⅱ是为嵌入式应用而设计的,意味着只要具备合适的系列软件工具(C编译、汇编、链接以及下载/固化),就可以将µC/OS-Ⅱ嵌入产品中作为产品的一部分。

(4)可裁剪(Scalable)。指可以只使用µC/OS-Ⅱ中应用程序需要的系统服务。可裁剪是靠条件编译实现的,只需要在用户的应用程序中定义那些µC/OS-Ⅱ中的功能应用程序需要的部分。

(5)可抢占(Preemptive)。µC/OS-Ⅱ是完全可抢占的实时内核,即µC/OS-Ⅱ总是执行就绪条件下优先级最高的任务。

(6)多任务。µC/OS-Ⅱ可以管理64个任务,但赋予每个任务的优先级必须是不相同的。这就是说µC/OS-Ⅱ不支持时间片轮转调度法(该调度法适用于调度优先级平等的任务)。

(7)可确定。绝大多数µC/OS-Ⅱ的函数调用和服务的执行时间具有可确定性,用户能知道µC/OS-Ⅱ的函数调用与服务执行了多长时间。除了函数OSTimeTick()和某些事件标志服务,µC/OS-Ⅱ系统服务的执行时间不依赖于用户应用程序任务数目的多少。

(8)提供任务栈。每个任务都有自己单独的栈。µC/OS-Ⅱ允许每个任务有不同的栈空间,以便降低应用程序对RAM的需求。

(9)提供系统服务。µC/OS-Ⅱ提供许多系统服务,如信号量、互斥信号量、事件标志、消息邮箱、消息队列、时间管理等。

(10)提供中断管理。中断可以使正在执行的任务暂时挂起。如果优先级更高的任务被该中断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行,中断嵌套层数可达255层。

(11)稳定性和可靠性强。µC/OS-Ⅱ提供的每种功能、每个函数以及每行代码都经过了考验和测试,具有足够的安全性与稳定性,能用于安全性条件要求极为苛刻的系统中。 J8o/Slwn0Mb5+AGnT6jUHp3XZfSANTO2+iKvHsMw18yFO4kuaj+kmu7Ao0MwZhxM

点击中间区域
呼出菜单
上一章
目录
下一章
×