嵌入式技术
(文章来源:OFweek)
国际上常见的嵌入式操作系统大约有40种左,右如:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive 。他们基本可以分为两类,一类是面向控制、通信等领域的实时操作系统,如windriver公司的vxworks、isi的psos、qnx系统软件公司的qnx、ati的nucleus等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理(pda)、移动电话、机顶盒、电子书、webphone等,系统有Microsoft的WinCE,3Com的Palm,以及Symbian和Google的Android等。
VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是Tornado嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌人式实时操作系统领域逐渐占据一席之地。
VxWorks实时操作系统由400多个相对独立、短小精悍的目标模块组成,用户可根据需要选择适当的模块来裁剪和配置系统;提供基于优先级的任务调度、任务间同步与通信、中断处理、定时器和内存管理等功能,内建符合POSIX(可移植操作系统接口)规范的内存管理,以及多处理器控制程序;并且具有简明易懂的用户接口,在核心方面甚至可以微缩到8 KB。
Windows CE与Windows系列有较好的兼容性,无疑是Windows CE推广的一大优势。其中WinCE3.0是一种针对小容量、移动式、智能化、32位、了解设备的模块化实时嵌入操作系统。对建立针对掌上设备、无线设备的动态应用程序服务提供了一种功能丰富的操作系统平台,它能在多种处理器体系结构上运行,并且通常适用于那些对内存占用空间具有一定限制的设备。它是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。
操作系统的基本内核需要至少200KB的ROM。由于嵌入式产品的体积、成本等方面有较严格的要求,所以处理器部分占用空间应尽可能的小。系统的可用内存和外存数量也要受限制,而嵌入式操作系统就运行在有限的内存(一般在ROM或快闪存储器)中,因此就对操作系统的规模、效率等提出了较高的要求。从技术角度上讲,Windows CE作为嵌入式操作系统有很多的缺陷:没有开放源代码,使应用开发人员很难实现产品的定制;在效率、功耗方面的表现并不出色,而且和Windows一样占用过的系统内存,运用程序庞大;版权许可费也是厂商不得不考虑的因素。
嵌入式Linux,这是嵌入式操作系统的一个新成员,其最大的特点是源代码公开并且遵循GPL协议,在近年来成为研究热点,据IDG预测嵌入式Linux将占未来两年的嵌入式操作系统份额的50%。
Linux是开放源代码,不存在黑箱技术,遍布全球的众多Linux爱好者优势Linux开发者的强大技术支持;并且Linux的内核小、效率高,内核的更新速度很快,Linux是可以定制的,其系统内核最小只有约134KB。Linux还是免费的OS,在价格上极具竞争力。因为它的开放性对于技术方面的要求不高只要懂Unix/Linux和C语言即可。随着Linux在国内的普及,这类人才越来越多。所以软件的开发和维护成本很低,优秀的网络工能,这在Internet时代尤其重要,稳定是Linux本身具备的一个很大的优点,内核精悍,运行所需资源少,十分适合嵌入式应用。
支持的硬件数量庞大,嵌入式Linux和普通的Linux没有本质区别,PC上用到的硬件嵌入式Linux几乎都支持,而且各种硬件的驱动程序源代码都可以得到,为用户编写自己专有硬件的驱动程序带来了很大方便。
μC/OS一Ⅱ是著名的源代码公开的实时内核,是专为嵌入式应用设计的,可用于8位,16位和32位单片机或数字信号处理器(DSP)。它是在原版本μC /OS的基础上做了重大改进与升级,并有了近十年的使用实践,有许多成功应用该实时内核的实例。它的主要特点如下:1)公开源代码,容易就能把操作系统移植到各个不同的硬件平台上;2)可移植性,绝大部分源代码是用C语言写的,便于移植到其他微处理器上;可固化。
3)可裁剪性,有选择的使用需要的系统服务,以减少斗所需的存储空间;4)占先式,完全是占先式的实时内核,即总是运行就绪条件下优先级最高的任务;5)多任务,可管理64个任务,任务的优先级必须是不同的,不支持时间片轮转调度法;6)可确定性,函数调用与服务的执行时间具有其可确定性,不依赖于任务的多少;7)实用性和可靠性,成功应用该实时内核的实例,是其实用性和可靠性的最好证据;
由于μC/OS一Ⅱ仅是一个实时内核,这就意味着它不像其他实时存在系统那样提供给用户的只是一些API函数接口,还有很多工作需要用户自己去完成。
(责任编辑:fqj)
全部0条评论
快来发表一下你的评论吧 !