2023年-如何选择ARM CPU的操作系统.docx





《2023年-如何选择ARM CPU的操作系统.docx》由会员分享,可在线阅读,更多相关《2023年-如何选择ARM CPU的操作系统.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如何选择ARM CPU的操作系统从8位/16位单片机发展到以ARM CPU核为代表的32位嵌入式 处理器,嵌入式操作系统将替代传统的由手工编制的监控程序或调 度程序,成为重要的基础组件。更重要的是嵌入式操作系统对应用 程序可以起到屏蔽的作用,使应用程序员面向操作系统级开发应用 软件,并易于在不同的ARM核的嵌入式处理器上移植。嵌入式操 作系统都具有一定的实时性,易于裁剪和伸缩,可以适合于从ARM7 到Xscale各种ARM CPU和各种档次的应用,嵌入式操作系统可以 使用广泛流行的ARM开发工具,如ARM公司的SDT/ADS和 RealView等,也可以使用开发软件,如GCC/GDB、KDE或
2、Eclipe 开发环境,市场上还有专用的开发工具,如Tornado、mC/View、 mC/KA、CODE/Lab Metroworks 等。本文就目前国内在ARM CPU上广泛采用的三种嵌入式操作系 统(uCOS-H、uCLinux和嵌入式Linux)作分析。uCOS-H嵌入式实时内核全世界数百种设备已经在使用uCOS-II,包括手机、路由器、 不间断电源、飞行器、医疗设备和工业控制设备。uCOS-II已经 有 ARM7TDML arm9和 Strong arm等各种 arm cpu的移植, 支持包含 Atmek Hynix、Intel、Motorola、Philips、Samsung、 S
3、harp等公司的arm核的CPU。uCOS-II的移植也相当容易,与 cpu相关的代码包装在三个文件中,它们是os_cpu.h os_cpu_a.asm 和 os_cpu_c.c0uCOS-H有60多个系统调用,覆盖任务、定时器、信号量、 事件标志、邮箱、队列和内存管理,已经包含了传统嵌入式操作系 统内核(如PSOS, VRTX)的功能,还支持互斥型信号量,这是90 年代的嵌入式操作系统内核,如VxWorks和VRTXsa才有的技术。uCOS-II因为是可抢占的实时内核,所以uCOS-II与商业 嵌入式实时内核在性能上没有什么差异,uCOS-II没有用户态和 内核态,任务(线程)或中断和任务切
4、换的响应可以很快,主要是和 ARM CPU相关的。最新的2.7X版本还增加了算法以避免在移植中 修改堆栈指针,这样可以保证uCOS-II在不同的CPU上运行更稳 定,移植更方便。uCOS-II目前除了内核外还有商业化文件系统 mC/FS,图形系统uC/GUI以及任务调试工具uC/KA和 uC/View,但是uC/OS-H自己目前还没有TCP/IP协议系统。总的来说,ucos-n是一个非常容易学习,结构简单,功能 完备和实时性很强的嵌入式操作系统内核,适合于各种嵌入式应用 以及大专院校教学和科研。最后需要说明,ucos-n不是免费软 件,任何人学习使用uCOS-II需要购买嵌入式实时操作系统 u
5、COS-ID) 一书,使用uCOS-II的产品需要购买产品生产授权, 购买了此授权的还可以得到开发期间的技术支持和升级服务。分页uCLinux操作系统uCLinux是Linux小型化后,适合于没有MMU(内存管理单 元)的微处理器芯片而裁剪成的操作系统,如果ARM CPU系列中的 ARM7 TDML ARM940T等产品希望使用Linux操作系统,只能用 uCLinux,当然,uCLinux 也支持 Motorola Dragonball、 Coldfire等其它中低端嵌入式处理器。uCLinux保持了传统Linux操作系统的主要特性,包括稳定、 强大的网络和文件系统的支持,uCLinux裁剪
6、了大量的Linux内 核以缩小尺寸,适合象512k/b RAM、lM/b Flash这样小容量、 低成本的嵌入式系统。uCLinux系统小型化的另一简化是采用了 uCLib库替代Linux的Glib库,使用uCLib可以大大减少应用程 序的代码尺寸,对于中小型嵌入式应用,uCLib功能可以满足需要, 所以目前即使是某些采用Linux 2.4内核的嵌入式Linux系统也 采用uCLib库的做法。uCLinux中,由于没有内存保护机制,应 用代码一般采用静态连接的方式,而且在uCLinux中采用Flat文 件执行格式(Linux是Coff或Elf格式),uCLinux和应用代码都可 以支持固化,存
7、储在Flash存储介质中,不需象Linux需要经过 一次Flash到RAM的拷贝。所有这些,使得uCLinux更象传统 意义上的嵌入式操作系统。uCLinux是由内核开始移植的,目前已经有 2.4 Linux支持的一些移植的版本,如S3c2500、 44B0等arm 芯片,可以在uCLinux的官方网站上找到这 些版本,uCLinux近期主要是在发展各种版本的移植,以 期跟上Linux社会主流的发展趋势(因为今后Linux 2.6将开始成 为主流的内核)。uCLinux主要是针对没有MMU的嵌入式处理器开发设计, 那么它也失去了有MMU所带来的Linux操作系统的特色,比如, 上面已经提到的静
8、态加载(Linux支持动态应用的加载),uCLinux 对内存操作是直接的物理内存,这样,任何程序的异常都可能导致 内核崩溃,uCLinux支持多线程,但需要父子线程协调同步, uCLinux的文件系统相对比较陈旧,支持的CPU和参考设计还比 较少,社区的发展和维护也相对缓慢。目前uCLinux官方网站还 很少看见象IBM、Intel这样的大型公司身影,只有23家小型 的硬件或方案提供商,这对于商业化的产品开发中采用是有一定的 风险。嵌入式Linux操作系统这里要讨论的是可以嵌入在ARM CPU上的,具有MMU功能 的Linux操作系统,也可以称是嵌入式Linux操作系统。与微软公司 的软件不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023年-如何选择ARM CPU的操作系统 2023 如何 选择 ARM CPU 操作系统

限制150内