您的位置 首页 模拟

怎么挑选一个ARM CPU嵌入式操作系统

ARM公司是世界最大的半导体知识产权供应商,拥有全球近200家半导体公司的客户。目前,80%的GSM手机,99%的CDMA手机,以及未来3G手机也都是

ARM公司是国际最大的半导体知识产权供货商,具有全球近200家半导体公司的客户。现在,80%的GSM手机,99%的CDMA手机,以及未来3G手机也都是选用根据ARM核的嵌入式处理器。供给研讨剖析信息的组织 Gartner Inc,2003年6月份计算,2002年ARM在全球半导体IP供货商中排名榜首,占商场份额的19.8%,销售收入达1.8亿美圆,比2001年增加 10%。

现在,除了像TI OMAP, Intel的Xscale和Motorola的IMX系列这样的移动终端处理器选用ARM核外,也还有象Samsung, Atmel, Sharp, OKI和Philip等半导体公司规划一些通用ARM核的处理器,能够广泛运用在各种嵌入式体系,现在在商场上看到比较多的有S3C44B0, 4510,2410,AT91系列和Intel PXA255等。
ARM处理器是32位规划,一起也装备了16位指令集,软件能够以16位编码与等价32位代码比较,占用的存储器空间能够节约约35%。ARM处理器现在有ARM7, ARM9, ARM9E, ARM10, ARM11系列产品和来自合作伙伴Intel Xscale和Strong ARM系列ARM7,合适于中低端的网络设备、终端、各种通用型的嵌入式运用和工业操控等范畴。ARM9合适于智能手机、PDA和先进的操控办理和仪器仪表运用。Intel Xscale系列产品供给了高性能价格比、低功耗、适用于智能无线终端、PDA、家庭网络和网络存储器设备等运用。
嵌入式操作体系是ARM CPU重要的软件根底
从8位/16位单片机开展到以ARM CPU核为代表的32位嵌入式处理器,嵌入式操作体系将代替传统的由手艺编制的监控程序或调度程序,成为重要的根底组件。嵌入式操作体系能够供给ARM CPU核和外设的设备办理,如核的初始化、MMU(内存办理单元)、定时器、中止、串口、SPI、GPIO、以太网、图形接口等,嵌入式操作体系供给使命调度、内存办理、中止处理、同步互斥机制、文件体系和网络功用,更重要的一点是嵌入式操作体系对运用程序能够起到屏蔽的效果,让运用程序员面向操作体系级开发运用软件,并易于在不同的根据ARM核的嵌入式处理器上移植。
嵌入式操作体系都一般具有必定的实时性,易于裁剪和弹性,能够合适于从ARM7 到Xscale各种ARM CPU和各种层次的运用,嵌入式操作体系能够运用广泛盛行的ARM开发东西,如ARM公司的SDT/ADS和Real View、IAR EW等也能够运用开源的软件,如GCC/GDB、KDE或Eclipe开发环境,商场上还有商业厂商的专用的开发东西,如Tornado、μC /View、μC/KA、CODE/Lab、Metroworks等.
本文就现在国内在ARM CPU上广泛选用的三种嵌入式操作体系做个剖析,μC/OS-II、μCLinux和嵌入式Linux。后两种同归于Linux,前者是针对没有MMU的微处理器,如ARM7 TDMI核,后者可适用于绝大多数有MMU的微处理器中,如ARM920T,当然,文章也会涉及到其它支撑ARM CPU的嵌入式操作体系。
μC/OS-II嵌入式实时内核
由Jean Labrosse先生著,邵贝贝教师翻译的《嵌入式实时操作体系μC/OS-II》先后由电力出书社(榜首版)和航空航天大学出书社出书(第二版)发行了近万册,信任有数以千计的学生、教师和工程师正在运用μC/OS-II,在曩昔的一年中(2003),在《电子产品国际》、《电子规划运用》和《单片机和嵌入式体系运用》等杂志和各种学术会议上的有μC/OS-II相关论文就有几十余篇。全国际数百种设备现已在运用μC/OS-II,包括如手机、路由器、不间断电源、飞行器、医疗设备和工业操控设备,在我国也现已有包括香港权智,首科希电,安控科技在内的10余家公司购买了产品授权。
μC/OS-II现已有ARM7TDMI、ARM9和Strong ARM等各种ARM CPU的移植,支撑包括Atmel、Hynix、Intel、Motorola、Philips、Samsung、Sharp等公司的ARM核的CPU。 μC/OS-II的移植也适当简略,与CPU相关的代码包装在三个文件中,os_cpu.h,os_cpu_a.asm,os_cpu_c.c,并且 Jean Labrosse先生的运用笔记AN-1011和AN-1012对ARM7、AN-1337对ARM9的移植进程都做了具体的阐明。
μC/OS-II有60余个体系调用,掩盖使命、定时器、信号量、事情标志、邮箱、行列和内存办理,现已包括了传统嵌入式操作体系内核(如PSOS,VRTX)的功用,还支撑互斥型信号量(Mutual Exclusion Semaphone),这是90年代的嵌入式操作体系内核,如Vxworks和VRTXsa才有的技能。
μC/OS-II因为是可抢占的实时内核,所以μC/OS-II与商业嵌入式实时内核在性能上没有什么差异,μC/OS-II没有用户态和内核态,使命(线程)或中止和使命切换的呼应能够很快,首要是和不同的ARM CPU相关的。最新的2.7x版别还增加了算法以防止在移植中修正OSINTCEXSW()中的仓库指针。这样能够确保μC/OS-II在不同的CPU上运转更安稳,移植更便利。
总归,μC/OS-II是一个十分简略学习(有一本很好的解说很清楚的书),结构简略,功用齐备和实时性很强的嵌入式操作体系内核,合适于各种嵌入式运用以及大专院校教育和科研。
μC/OS -II现在除了内核外还有商业化文件体系μC/FS,图形体系μC/GUI以及使命调试东西μC KA和μC View,μC/OS-II自己现在也有TCP/IP。假如需求,能够购买商用的TCP/IP,如InterNiche (www.iniche.com),也能够选用免费的TCP/IP项目如LWIP (http://www.sics.se/~adam/lwip/),但不管在功用仍是安稳性与商业代码无法比拟。
最终需求阐明,μC/OS-II不是免费软件,任何人学习运用μC/OS-II需求购买《嵌入式实时操作体系μC/OS-II》一书,运用了μC/OS-II的产品需求购买产品出产授权,购买了此授权的还能够得到开发期间的技能支撑和晋级服务。
IAR PowerPAC操作体系
IAR PowerPac for ARM是老牌欧洲瑞典东西公司IAR开发的一个通过整合的32bit RTOS和中间件宗族,包括一个占用存储器很少的实时操作体系和一个通用的文件体系。还有USB协议栈和TCP/IP v4网络协议栈。IAR PowerPAC合适于不同工业中各式各样的嵌入式运用,例如测验与丈量、工控、电信、医疗以及消费类电子产品等。
IAR PowerPac for ARM能够与IAR Embedded Workbench无缝集成,即便面临最杂乱的运用也能供给完好的开发环境。IAR PowerPac 是一个有丰厚功用的实时操作体系( RTOS ),包括一个高性能的文件体系。以及附加的USB和TCP/IP,Web Server软件包。IAR PowerPac 与 IAR 嵌入式工作台无缝集成,为不同制造商的 ARM 设备供给了丰厚的典范项目和板级支撑包。
IAR PowerPac 及协议栈
IAR供给PowerPac实时操作体系和文件办理体系、USB协议栈以及TCP/IP协议栈,其授权方法是工程师坐席收取License费用,没有进一步的版税,降低了最终用户的危险。
μCLinux操作体系
μCLinux是Linux小型化后,合适于没有MMU的微处理器芯片而裁剪成的小型化Linux操作体系,在ARM CPU系列中,ARM7 TDMI,ARM940T等ARM核的CPU产品,假如期望运用Linux操作体系,只能用μCLinux,当然,μCLinux也支撑Motorola Dragonball, Coldfire等其它中低端嵌入式处理器。
μCLinux坚持了传统Linux操作体系的首要特性,包括安稳、强壮的网络和文件体系的支撑,μCLinux裁剪了很多的Linux内核以缩小尺度,合适象512k RAM,1M Flash这样小容量,低成本的嵌入式体系。
μCLinux 的项目是由Linux 2.0.38内核开端的,榜首个项目是Motorola 68EZ328,现在现已有2.4 Linux支撑的一些移植的版别,如S3C2500, 44B0等ARM芯片,这些,你能够在μCLinux的官方网站www.uclinux.org上找到,μCLinux近期首要是在开展各种2.4.x版别的移植,以期跟上Linux社会干流的开展趋势(因为本年Linux 2.6将开端成为干流的内核)。
μCLinux体系小型化的另一个重要原因是选用了μCLib库代替 Linux的Glib库,运用μCLib能够大大削减运用程序的代码尺度,关于中小型嵌入式运用,μCLib功用能够满足需求,所以现在即便是某些选用 Linux 2.4内核的嵌入式LINUX体系也选用μCLib库的做法。μCLinux中,因为没有内存保护机制,运用代码一般选用静态衔接的方法,并且在 μCLinux中选用Flat文件履行格局(Linux是Coff或Elf格局), μCLinux和运用代码都能够支撑固化,存储在Flash存储介质中,不需象Linux需求通过一次Flash到RAM的复制。一切这些,使得 μCLinux更象传统意义上的嵌入式操作体系。
μCLinux 首要是针对没有MMU的嵌入式处理器开发规划,那么它也失去了有MMU所带来的Linux操作体系的特征,比方,上面现已说到的静态加载(Linux支撑动态运用的加载),μCLinux对内存操作是直接的物理内存,这样,任何程序的反常都或许导致内核溃散,μCLinux选用Vfovk(),支撑多进程,但需求父子进程和谐同步,μCLinux的文件体系相对比较陈腐,支撑的CPU和参阅规划还比较少,社区的开展和保护也相对缓慢。更重要的是,在国内外没有一家软件公司有商业化的μCLinux软件产品和服务支撑,现在μCLinux官方网站还很少看见象IBM、Intel这样的巨型公司身影,只要 2~3家小型的硬件或计划供给商,这关于商业化的产品开发中选用是有必定的危险。
嵌入式Linux操作体系
咱们这儿要评论的是能够嵌入在ARM CPU上的,有MMU功用的Linux操作体系,也能够称是嵌入式Linux操作体系。芬兰学生Linux Torvalds在91年写完榜首个Linux版别时,怎样也无法幻想到今日Linux在全国际规模被广泛注视和运用。嵌入式体系作为Linux运用的一个重要范畴,因为它的广泛性和多样化正在迅速开展。
和 微软的软件不相同,Linux不是由一家公司所具有、保护开发的,Linux在商场有多种发行版别,一切发行版别都包括相同的Linux内核、根本东西和运用,不同的发行版别首要是在附加的东西链、运用、装备以及各种内核补丁上有所不同。嵌入式Linux首要是在实时性增强、内核精简和削减、支撑多种 CPU结构(如ARM CPU)等方面做了改善和进步。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/moni/254550.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部