嵌入式操作体系是ARMCPU的软件根底,从8位/16位单片机发展到以ARMCPU核为代表的32位嵌入式处理器,嵌入式操作体系将代替传统的由手艺编制的监控程序或调度程序,成为重要的根底组件。更重要的是嵌入式操作体系对运用程序能够起到屏蔽的效果,使运用程序员面向操作体系级开发运用软件,并易于在不同的ARM核的嵌入式处理器上移植。
嵌入式操作体系都具有必定的实时性,易于裁剪和弹性,能够合适于从ARM7到Xscale各种ARMCPU和各种层次的运用,嵌入式操作体系能够运用广泛盛行的ARM开发东西,如ARM公司的SDT/ADS和RealView等,也能够运用开发软件,如GCC/GDB、KDE或Eclipe开发环境,商场上还有专用的开发东西,如Tornado、μC/View、μC/KA、CODE/Lab、Metroworks等。
本文就现在国内在ARM CPU上广泛选用的三种嵌入式操作体系(μC/OS-II、μCLinux和嵌入式Linux)作剖析。
μC/OS-II嵌入式实时内核全世界数百种设备现已在运用μC/OS-II,包括手机、路由器、不间断电源、飞行器、医疗设备和工业操控设备。μC/OS-II现已有ARM7TDMI、ARM9和StrongARM等各种ARMCPU的移植,支撑包括Atmel、Hynix、Intel、 Motorola、Philips、Samsung、Sharp等公司的ARM核的CPU.μC/OS-II的移植也适当简略,与CPU相关的代码包装在三个文件中,它们是os_cpu.h、os_cpu_a.asm和os_cpu_c.c.μC/OS-II有60多个体系调用,掩盖使命、定时器、信号量、事情标志、邮箱、行列和内存办理,现已包括了传统嵌入式操作体系内核(如PSOS,VRTX)的功用,还支撑互斥型信号量,这是90年代的嵌入式操作体系内核,如VxWorks和VRTXsa才有的技能。
μC/OS-II由于是可抢占的实时内核,所以μC/OS-II与商业嵌入式实时内核在性能上没有什么差异,μC/OS-II没有用户态和内核态,使命(线程)或中止和使命切换的呼应能够很快,首要是和ARMCPU相关的。最新的 2.7x版别还增加了算法以防止在移植中修正仓库指针,这样能够确保μC/OS-II在不同的CPU上运转更安稳,移植更便利。μC/OS-II现在除了内核外还有商业化文件体系μC/FS,图形体系μC/GUI以及使命调试东西μC/KA和μC/View,可是μC/OS-II自己现在还没有TCP /IP协议体系。
总的来说,μC/OS-II是一个十分简略学习,结构简略,功用齐备和实时性很强的嵌入式操作体系内核,合适于各种嵌入式运用以及大专院校教育和科研。最终需求阐明,μC/OS-II不是免费软件,任何人学习运用μC/OS-II需求购买《嵌入式实时操作体系μC /OS-II》一书,运用μC/OS-II的产品需求购买产品出产授权,购买了此授权的还能够得到开发期间的技能支撑和晋级服务。
μCLinux操作体系μCLinux是Linux小型化后,合适于没有MMU(内存办理单元)的微处理器芯片而裁剪成的操作体系,假如ARMCPU系列中的ARM7TDMI、ARM940T等产品期望运用Linux操作体系,只能用μCLinux,当然,μCLinux也支撑 MotorolaDragonball、Coldfire等其它中低端嵌入式处理器。
μCLinux坚持了传统Linux操作体系的首要特性,包括安稳、强壮的网络和文件体系的支撑,μCLinux裁剪了很多的Linux内核以缩小尺度,合适象512k/bRAM、1M/bFlash这样小容量、低成本的嵌入式体系。μCLinux体系小型化的另一简化是选用了μCLib库代替Linux的Glib库,运用μCLib能够大大削减运用程序的代码尺度,关于中小型嵌入式运用,μCLib功用能够满足需求,所以现在即使是某些选用Linux2.4.嵌入式Linux操作体系这儿要评论的是能够嵌入在ARMCPU上的,具有MMU功用的Linux操作体系,也能够称是嵌入式Linux操作体系。与微软公司的软件不相同,Linux不是由一家公司所具有、保护开发的,Linux在商场有多种发行版别,一切发行版别都包括相同的Linux内核、根本东西和运用,不同的发行版别首要是在附加的东西链、运用、装备以及各种内核补丁上有所不同。嵌入式Linux首要是在实时性增强、内核精简和削减、支撑多种CPU结构(如ARMCPU)等方面做了改善和进步。
运用嵌入式Linux体系有两种途径:第一是用户自己安装(称为DIY内核),你能够找到悉数Linux代码,或直接到ARMCPU的源代码树下 linux.org.uk“>www.ARMlinux.org.uk找到所需求的Linux版别的移植,或许某些半导体公司,如三星、 Motorola在自己的网站或在自己的ARM评价板含有一个最小Linux内核体系。假如这个最小内核没有包括GCC/GDB东西链,或许还要到GNU 的网站下载悉数的源代码,然后再编译生成所需求版别的ARM东西链和运用程序库,这个进程是适当耗时和困难的。还需求指出,这种DIY内核的装备,增加运用和驱动程序也是不规范的和杂乱的,这是嵌入式体系的特殊性地点。
第二是挑选一个商业化的嵌入式Linux操作体系渠道。商业化的嵌入式Linux版别是针对嵌入式处理器,如ARM所优化规划的,支撑各种半导体厂家的评价板和首要的设备驱动,商业化的嵌入式Linux包括了文件体系、运用、实时性扩展和技能支撑训练服务,如今国外闻名的商业化嵌入式Linux产品有:Monta Vista Linux、Bluecat Linux、Timesys Linux、Metrowork Linux、Vlinux和Redhat Linux等,
国内也有红旗、中软、新华嵌入式Linux Monta Vista Linux是Monta Vista软件公司于1999年推出的,它是现在全球优异的嵌入式Linux操作体系和东西供货商,Monta Vista在嵌入式Linux的实时性、穿插开发东西、高可用性、动态电源办理等Linux技能关键方面具有领先地位。MontaVistaLinux最版别是3.1,选用Linux2.4.20,针对8种CPU系列(包括ARM和Xscale)优化定制的商业化版别。
挑选象Monta Vista Linux这样商业化嵌入式Linux,能够让用户把时刻和资金放在运用软件和特定的硬件接口和设备驱动程序,运用商业化嵌入式Linux能够得到必定时刻(一般是1年)的技能支撑,晋级和训练(这很重要,由于Linux是每天都在改变的)。
商业化嵌入式Linux现在除国内的产品外,价格仍是很贵重的,依据装备和服务时刻,大约从几千到几万美元,大都国内用户从资金和心理上还很难接受,商业化嵌入式Linux开发东西相关于 Microsoft和象Tornado/VxWork的开发东西,在易于运用和丰富性方面还待于进步和改善。