嵌入式体系是以运用为中心,软硬件可削减的,适用于对功用、牢靠性、本钱、体积、功耗等归纳性严厉要求的专用计算机体系。具有软件代码小、高度自动化、呼应速度快等特征,特别适宜于要求实时和多使命的体系。嵌入式体系首要由嵌入式处理器、相关支撑硬件、嵌入式操作体系及运用软件体系等组成,它是可独立作业的“器材”。
一、嵌入式操作体系的开展
作为嵌入式体系(包含硬、软件体系)极为重要的组成部分的嵌入式操作体系,一般包含与硬件相关的底层驱动软件、体系内核、设备驱动接口、通信协议、图形界面、规范化浏览器等。嵌入式操作体系具有通用操作体系的根本特征,如能够有用办理越来越杂乱的体系资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和保护中摆脱出来;能够供给库函数、驱动程序、东西集以及运用程序。与通用操作体系相比较,嵌入式操作体系在体系实时高效性、硬件的相关依赖性、软件固态化以及运用的专用性等方面具有较为杰出的特征。
嵌入式操作体系随同着嵌入式体系的开展阅历了四个比较显着的阶段:
第一阶段:无操作体系的嵌入算法阶段,以单芯片为中心的可编程操控器方法的体系,具有与监测、伺服、指示设备相配合的功用。运用于一些专业性极强的工业操控体系中,经过汇编言语编程对体系进行直接操控,运转完毕后铲除内存。体系结构和功用都相对单一,处理功率较低,存储容量较小,简直没有用户接口。
第二阶段:以嵌人式CPU为根底、简略操作体系为中心的嵌入式体系。CPU品种繁复,通用性比较差;体系开支小,功率高;一般装备体系仿真器,操作体系具有必定的兼容性和扩展性;运用软件较专业,用户界面不行友爱;体系首要用来操控体系负载以及监控运用程序运转。
第三阶段:通用的嵌人式实时操作体系阶段,以嵌入式操作体系为中心的嵌入式体系。能运转于各品种型的微处理器上,兼容性好;内核精小、功率高,具有高度的模块化和扩展性;具有文件和目录办理、设备支撑、多使命、网络支撑、图形窗口以及用户界面等功用;具有许多的运用程序接口(APl);嵌入式运用软件丰厚。
第四阶段:以依据Intemet为标志的嵌入式体系。这是一个正在迅速开展的阶段。现在大大都嵌入式体系还孤立于lnlemet之外,但跟着Intemet的开展以及Intemet技能与信息家电、工业操控技能等结合日益亲近,嵌入式设备与Intemet的结合将代表着嵌入式技能的真实未来。
二、运用实时操作体系的必要性
嵌入式实时操作体系在现在的嵌入式运用中用得越来越广泛,特别在功用杂乱、体系巨大的运用中显得愈来愈重要。
1.嵌人式实时操作体系前进了体系的牢靠性。在操控体系中,出于安全方面的考虑,要求体系最少不能溃散,并且还要有自愈才干。不只需求在硬件规划方面前进体系的牢靠性和抗搅扰性,并且也应在软件规划方面前进体系的抗搅扰性,尽或许地削减安全漏洞和不牢靠的危险。长期以来的前后台体系软件规划在遇到强搅扰时,使得运转的程序发生反常、犯错、跑飞,乃至死循环,造成了体系的溃散。而实时操作体系办理的体系,这种搅扰或许仅仅引起若干进程中的一个被损坏,能够经过体系运转的体系监控进程对其进行修正。一般情况下,这个体系监督进程用来监督各进程运转状况,遇到反常情况时采纳一些利于体系安稳牢靠的办法,如把有问题的使命铲除去。
2.前进了开发功率,缩短了开发周期。在嵌入式实时操作体系环境下,开发一个杂乱的运用程序,一般能够依照软件工程中的解耦准则将整个程序分解为多个使命模块。每个使命模块的调试、修正简直不影响其他模块。商业软件一般都供给了杰出的多使命调试环境。
3.嵌入式实时操作体系充分发挥了32位CPU的多使命潜力。32位CPU比8、16位CPU快,别的它本来是为运转多用户、多使命操作体系而规划的,特别适于运转多使命实时体系。32位CPU选用利于前进体系牢靠性和安稳性的规划,使其更简单做到不溃散。例如,CPU运转状况分为体系态和用户态。将体系仓库和用户仓库分隔,以及实时地给出CPU的运转状况等,答运用户在体系规划中从硬件和软件两方面临实时内核的运转施行保护。假如仍是选用曾经的前后台方法,则无法发挥32位CPU的优势。从某种意义上说,没有操作体系的计算机(裸机)是没有用的。在嵌入式运用中,只需把CPU嵌入到体系中,一起又把操作体系嵌入进去,才是真实的计算机嵌入式运用。
三、嵌入式操作体系选型
当咱们在规划信息电器、数字医疗设备等嵌入式产品时,嵌入式操作体系的挑选至关重要。一般来说,在挑选嵌入式操作体系时,能够遵照以下准则。总的来说,便是“做加法仍是做减法”的问题。
(一)商场进入时刻
拟定产品时刻表与挑选操作体系有联系,实践产品和一般演示是不同的。现在是Windows程序员或许是人力资源最丰厚的。现成资源最多的也就或许是WinCE。运用WinCE能够很快进入商场。因为WinCE+X86做产品实践上是在做减法,去掉你不要的功用,能很快出产品,但随同的或许是本钱高,中心竞争力差。而某些高效的操作体系或许因为编程人员缺少,或因为这方面的技能堆集不行,影响开发进度。
(二)可移植性
操作体系相关性。当进行嵌入式软件开发时,可移植性是要要点考虑的问题。杰出的软件移植性应该比较好,能够在不同渠道、不同体系上运转,跟操作体系无关。软件的通用性和软件的功用一般是对立的。即通用以丢失某些特定情况下的优化功用为价值。很难想象开发一个嵌入式浏览器而仅能在某一特定环境下运用。反过来说,当产品与渠道和操作体系紧密结合时,往往你的产品的特征就包含其间。
(三)可运用资源
产品开发不同于学术课题研讨,它是以快速、低本钱、高质量的推出适宜用户需求的产品为意图的。集中精力研制出产品的特征,其他功用尽量由操作体系附加或选用第三方产品,因而操作体系的可运用资源关于选型是一个重要参阅条件。Linux和WinCE都有许多的资源能够运用,这是他们被看好的重要原因。其他有些实时操作体系因为比较关闭,开发时能够运用的资源比较少,因而大都功用需求自己独立开发。然后影响开发进度。近来的商场需求显现,越来越多的嵌入式体系,均要求供给全功用的Web浏览器。而这要求有一个高功用、高牢靠的GUI的支撑。
(四)体系定制才干
信息产品不同于传统PC的Wintel结构的单纯性,用户的需求是千差万别的,硬件渠道也都不相同,所以对体系的定制才干提出了要求。要剖析产品是否对体系底层有改动的需求,这种改动是否随同着产品特征?Linux因为其源代码敞开的天然生成魅力,在定制才干方面具有优势。跟着WinCE3.0原码的敞开,以及微软在嵌入式范畴力度的加强,其定制才干会有所提高。
(五)本钱
本钱是一切产品不得不考虑的问题。操作体系的挑选会对本钱有什么影响呢?Linux免费,WinCE等商业体系需求付出答应证运用费,但这都不是问题的答案。本钱是需求归纳权衡今后进行考虑的——挑选某一体系或许会对其他一系列的要素发生影响,如对硬件设备的选型、人员投入、以及公司办理和与其他合作伙伴的共同开发之间的交流等许多方面的影响。
(六)中文内核支撑
国内产品需求对中文的支撑。因为操作体系大都是选用西文方法,是否支撑双字节编码方法,是否遵照GBK,GBl8030等各种国家规范,是否支撑中文输入与处理,是否供给第三方中文输入接口是针对国内用户的嵌入式产品的必需考虑的重要要素。
上面说到用WinCE+x86出产品是减法,这实践上便是所谓PC家电化;别的一种做法是加法,运用家电行业的硬件解决方案(绝大部分对错x86的)加以改善,加上嵌入式操作体系,再加上运用软件。这是所谓家电PC化的做法,这种加法的优势是本钱低,特征杰出,缺陷是产品研制周期长,难度大(需求深化了解硬件和操作体系)。假如挑选这种做法,Linux是一个好挑选,它让你能够深化到体系底层,假如你乐意并且有才干。
四、几种代表性嵌入式操作体系比较
(一)VxWorks
VxWorks操作体系是美国WindRiver公司于1983年规划开发的一种嵌入式实时操作体系(RTOS),是Tornado嵌入式开发环境的要害组成部分。杰出的持续开展才干、高功用的内核以及友爱的用户开发环境,在嵌人式实时操作体系范畴逐步占有一席之地。VxWorks具有可裁剪微内核结构;高效的使命办理;灵敏的使命间通讯;微秒级的中止处理;支撑POSIX 1003.1b实时扩展规范;支撑多种物理介质及规范的、完好的TCP/IP网络协议等。
然而其价格昂贵。因为操作体系自身以及开发环境都是专有的,价格一般都比较高,一般需花费10万元人民币以上才干建起一个可用的开发环境,对每一个运用一般还要别的收取版税。一般不通供源代码,只供给二进制代码。因为它们都是专用操作体系,需求专门的技能人员把握开发技能和保护,所以软件的开发和保护本钱都十分高。支撑的硬件数量有限。
(二)Windows CE
Windows CE与Windows系列有较好的兼容性,无疑是Windows CE推行的一大优势。其间WinCE3.0是一种针对小容量、移动式、智能化、32位、了解设备的模块化实时嵌人式操作体系。为树立针对掌上设备、无线设备的动态运用程序和服务供给了一种功用丰厚的操作体系渠道,它能在多种处理器体系结构上运转,并且一般适用于那些对内存占用空间具有必定约束的设备。它是从全体上为有限资源的渠道规划的多线程、完好优先权、多使命的操作体系。它的模块化规划答应它对从掌上电脑到专用的工业操控器的用户电子设备进行定制。操作体系的根本内核需求至少200KB的ROM。因为嵌入式产品的体积、本钱等方面有较严厉的要求,所以处理器部分占用空间应尽或许的小。体系的可用内存和外存数量也要受约束,而嵌入式操作体系就运转在有限的内存(一般在ROM或快闪存储器)中,因而就对操作体系的规划、功率等提出了较高的要求。从技能角度上讲,Windows CE作为嵌入式操作体系有许多的缺陷:没有敞开源代码,使运用开发人员很难完结产品的定制;在功率、功耗方面的体现并不超卓,并且和Windows相同占用过的体系内存,运用程序巨大;版权答应费也是厂商不得不考虑的要素。
(三)嵌入式Linux
这是嵌入式操作体系的一个新成员,其最大的特征是源代码揭露并且遵照GPL协议,在近一年多以来成为研讨热门,据IDG猜测嵌入式Linux将占未来两年的嵌入式操作体系比例的50%。
因为其源代码揭露,人们能够恣意修正,以满意自己的运用,并且查错也很简单。遵照GPL,无须为每例运用交纳答应证费。有许多的运用软件可用。其间大部分都遵照GPL,是敞开源代码和免费的。能够稍加修正后运用于用户自己的体系。 有许多的免费的优异的开发东西,且都遵照GPL,是敞开源代码的。有巨大的开发人员集体。无需专门的人才,只需懂Unix/Linux和C言语即可。跟着Linux在我国的遍及,这类人才越来越多。所以软件的开发和保护本钱很低。优异的网络功用,这在Internet年代特别重要。安稳——这是Linux自身具有的一个很大长处。内核精悍,运转所需资源少,十分适宜嵌入式运用。
支撑的硬件数量巨大。嵌入式Linux和一般Linux并无本质区别,PC上用到的硬件嵌入式Linux简直都支撑。并且各种硬件的驱动程序源代码都能够得到,为用户编写自己专有硬件的驱动程序带来很大便利。
在嵌入式体系上运转Linux的一个缺陷是Linux体系供给实时功用需求增加实时软件模块。而这些模块运转的内核空间正是操作体系完结调度战略、硬件中止反常和履行程序的部分。因为这些实时软件模块是在内核空间运转的,因而代码过错或许会损坏操作体系然后影响整个体系的牢靠性,这关于实时运用将是一个十分严峻的缺点。
(四)µC/OS-Ⅱ
µC/OS一Ⅱ是闻名的源代码揭露的实时内核,是专为嵌入式运用规划的,可用于8位,16位和32位单片机或数字信号处理器(DSP)。它是在原版别µC/OS的根底上做了严重改善与晋级,并有了近十年的运用实践,有许多成功运用该实时内核的实例。它的首要特征如下:
1.揭露源代码,简单就能把操作体系移植到各个不同的硬件渠道上。
2.可移植性,绝大部分源代码是用C言语写的,便于移植到其他微处理器上。
3.可固化。
4.可裁剪性,有挑选的运用需求的体系服务,以削减斗所需的存储空间。
5.占先式,完全是占先式的实时内核,即总是运转安排妥当条件下优先级最高的使命。
6.多使命,可办理64个使命,使命的优先级有必要是不同的,不支撑时刻片轮转调度法。
7.可确定性,函数调用与服务的履行时刻具有其可确定性,不依赖于使命的多少。
8.实用性和牢靠性,成功运用该实时内核的实例,是其实用性和牢靠性的最好依据。
因为µC/OS一Ⅱ仅是一个实时内核,这就意味着它不像其他实时存在体系那样供给给用户的仅仅一些API函数接口,还有许多作业需求用户自己去完结。
五、完毕语
在嵌入式运用中,运用实时操作体系(RTOS)是当时嵌入式运用的一个特征,一种趋势,也是单片机运用从低水平向高水平的一个前进。在实践的运用中,依据不同的要求和条件挑选适宜的操作体系,使开发作业更简单,规划出更完美的嵌入式体系。
本贴来自ZDNetChina中文社区 http://bbs.zdnet.com.cn ,本贴地址:http://bbs.zdnet.com.cn/viewthread.php?tid=206028