该如何正确选择嵌入式操作系统

嵌入式技术

1330人已加入

描述

嵌入式操作系统是ARM CPU的软件基础,从8位/16位单片机发 展到以ARM CPU核为代表的32位嵌入式处理器,嵌入式操作系统将替代传统的由手工编制的监控程序或调度程序,成为重要的基础组件。更重要的是嵌入式操作系统对应用 程序可以起到屏蔽的作用,使应用程序员面向操作系统级开发应用软件,并易于在不同的ARM核的嵌入式处理器上移植。

嵌入式操作系统都具 有一定的实时性,易于裁剪和伸缩,可以适合于从ARM7到Xscale各种ARM CPU和各种档次的应用,嵌入式操作系统可以使用广泛流行的ARM开发工具,如ARM公司的SDT/ADS和RealView等,也可以使用开发软件,如 GCC/GDB、KDE或Eclipe开发环境,市场上还有专用的开发工具,如Tornado、μC/View、μC/KA、CODE/Lab、 Metroworks等。

μC/OS-II因为是可抢占的实时内核,所以μC/OS-II与商业嵌入式实时内核在性能上没有什么差异,μC/OS-II没有用户态和内核态,任务 (线程)或中断和任务切换的响应可以很快,主要是和ARM CPU相关的。最新的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(内存管理单元)的微处理器芯片而裁剪成的操作系统,如果ARM CPU系列中的ARM7 TDMI、ARM940T等产品希望使用Linux操作系统,只能用μCLinux,当然,μCLinux也支持Motorola Dragonball、Coldfire等其它中低端嵌入式处理器。

使用嵌入式Linux系统有两种途径:第一是用户自己装配(称为DIY内核),你可以找到全部Linux代码,或直接到ARM CPU的源代码树下linux.org.uk“>www.ARMlinux.org.uk找到所需要的Linux版本的移植,或者某些半导体公司, 如三星、Motorola在自己的网站或在自己的ARM评估板含有一个最小Linux内核系统。如果这个最小内核没有包含GCC/GDB工具链,可能还要 到GNU的网站下载全部的源代码,然后再编译生成所需要版本的ARM工具链和应用程序库,这个过程是相当耗时和困难的。

还需要指出,这种DIY内核的配 置,添加应用和驱动程序也是不标准的和复杂的,这是嵌入式系统的特殊性所在。

第二是选择一个商业化的嵌入式Linux操作系统平台。商 业化的嵌入式Linux版本是针对嵌入式处理器,如ARM所优化设计的,支持各种半导体厂家的评估板和主要的设备驱动,商业化的嵌入式Linux包含了文 件系统、应用、实时性扩展和技术支持培训服务,现今国外著名的商业化嵌入式Linux产品有:MontaVista Linux、Bluecat Linux、Timesys Linux、Metrowork Linux、Vlinux和Redhat Linux等,

国内也有红 旗、中软、新华嵌入式Linux. MontaVista Linux是MontaVista软件公司于1999年推出的,它是目前全球优秀的嵌入式Linux操作系统和工具供应商,MontaVista在嵌入式 Linux的实时性、交叉开发工具、高可用性、动态电源管理等Linux技术要点方面具有领先地位。MontaVista Linux最版本是3.1,采用Linux 2.4.20,针对8种CPU系列(包含ARM和Xscale)优化定制的商业化版本。

选 择象MontaVista Linux这样商业化嵌入式Linux,可以让用户把时间和资金放在应用软件和特定的硬件接口和设备驱动程序,使用商业化嵌入式Linux可以得到一定时 间(一般是1年)的技术支持,升级和培训(这很重要,因为Linux是每天都在变化的)。

商业化嵌入式Linux目前除国内的产品外, 价格还是很昂贵的,根据配置和服务时间,大约从几千到几万美元,多数国内用户从资金和心理上还很难承受,商业化嵌入式Linux开发工具相对于 Microsoft和象Tornado/VxWork的开发工具,在易于使用和丰富性方面还待于提高和改进。

同样作为Linux操作系统,笔者推荐使用带有MMU的嵌入式Linux,而不是mCLinux,因为绝大多数新的ARM CPU都是AMR9核,它们都带有MMU了,无论是开放源码的Linux社区还是商业化的嵌入式Linux公司的支持和维护都比mCLinux要好要快和 丰富得多。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分