嵌入式系统技术应用与开发
上QQ阅读APP看书,第一时间看更新

3.2.3 其他嵌入式操作系统

1.Windows CE

Windows CE是微软开发的一个开放的、可升级的32位嵌入式操作系统。它是基于掌上电脑类的电子设备操作,是精简的Windows 95,所以Windows CE的图形用户界面相当出色。

其中CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion);E代表电子产品(Electronics)。与Windows 95/98、Windows NT不同的是,Windows CE所有源代码全部是由微软自行开发的嵌入式新型操作系统,Windows CE是基于Win32 API重新开发的、新型的信息设备平台。

Windows CE具有模块化、结构化和基于Win32应用程序接口以及与处理器无关等特点。

Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C++等)、同样的函数、同样的界面网格,使绝大多数的应用软件只需要进行简单的修改和移植就可以在Windows CE平台上继续使用。

2.VxWorks

VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。VxWorks良好的持续发展能力、高性能的内核以及友好的用户开发环境使其在嵌入式实时操作系统领域占据一席之地。VxWorks以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通信、军事演习、弹道制导、飞机导航等。VxWorks提供的多任务机制中对任务的控制采用了优先级抢占和轮转调度机制,也充分保证了可靠的实时性,使同样的硬件配置能满足更强的实时性要求,为应用的开发提供更大的空间。

VxWorks由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。VxWorks内核最小为8 KB,即便加上其他必要模块,所占用的空间也很小,且不失其实时、多任务的系统特征。由于它的高度灵活性,用户可以很容易地对这一操作系统进行定制或做适当开发,来满足自己的实际应用需要。

3.μC/OS-II

μC/OS-II是一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统。μC/OS-II通过了联邦航空局(FAA)商用航行器认证,符合航空无线电技术委员会(RTCA)DO-178B标准。自1992年问世以来,μC/OS-II已经被应用到数以百计的产品中。

μC/OS-II有如下特点:

1)可移植性:μC/OS-II的源代码绝大部分是使用移植性很强的ANSIC编写的,与微处理器硬件相关的部分是使用汇编语言编写的。汇编语言写的部分已经压缩到最低的限度,以使μC/OS-II便于移植到其他微处理器上。目前,μC/OS-II已经被移植到多种不同架构的微处理器上。

2)可固化:只要具备合适的软硬件工具,就可以将μC/OS-II嵌入到产品中成为产品的一部分。

3)可剪裁:μC/OS-II使用条件编译实现可剪裁,用户程序可以只编译自己需要的μC/OS-II功能,而不编译不要需要的功能,以减少μC/OS-II对代码空间和数据空间的占用。

4)可剥夺:μC/OS-II是完全可剥夺型的实时内核,μC/OS-II总是运行在就绪条件下优先级最高的任务。

5)多任务:μC/OS-II可以管理64个任务,然而,μC/OS-II的作者建议用户保留8个给μC/OS-II。这样,留给用户的应用程序最多可有56个任务。

6)可确定性:绝大多数μC/OS-II的函数调用和服务的执行时间具有确定性,也就是说,用户总是能知道μC/OS-II的函数调用与服务执行了多长时间。

7)任务栈:μC/OS-II的每个任务都有自己单独的栈,使用μC/OS-II的占空间校验函数,可确定每个任务到底需要多少栈空间。

8)系统服务:μC/OS-II提供很多系统服务,例如信号量、互斥信号量、时间标志、消息邮箱、消息队列、块大小固定的内存的申请与释放及时间管理函数等。

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

10)稳定性与可靠性:μC/OS-II是基于μC/OS的,μC/OS自1992年以来已经有数百个商业应用。μC/OS-II与μC/OS的内核是一样的,只是提供了更多的功能。