《嵌入式系统uclinux和ecos的比较.pdf》由会员分享,可在线阅读,更多相关《嵌入式系统uclinux和ecos的比较.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式嵌入式系统ucl inux 和ec os 的比较系统Ct h eC o m p a s io no fE m b e d e dS y s t e mb e t w e e nU c lin u xa n dE c o s垒3C和戴晟晖张良清ooD a iS h e n g h u iZ h a n gL i a n g q i nO(东华理工学院信息工程学院,抚州3 4 4 0 0 0)的(I n s t i t u t eo fI n f o r m a t i o nE n g i n e e r i n g,E a s tc h i n aI n s t i t u t eo f
2、T e c h n o l o g y,F u z h o u3 4 4 0 0 0)比铰摘要:嵌入式操作系统是嵌入武系统应用的核心。本文通过对两种典型的开源嵌入式操作系统的对比,分析和总结了嵌入式操作系统应用中的若干问题,归纳了嵌入式操作系统的选型依据。关键词:嵌入式:操作系统中图分类号:T P 3 16文献标识码:A文章编号:16 71 4 7 9 2(2 0 0 6)4 一0 0 7 8 0 3A b 8 舶a C t:E m b e d d e do p e r a t i n gs y s t e mi se m b e d d e ds y s t e mt h ec o r eo
3、 fa p p l i c a t i o n T h ec o n t r a s tt h a t t h i sp a p e rp a s s e st h r o u g he m b e d d e do p e r a t i n gs y s t e mo fo p e ns o u r c ec o d ef o rt w ot y p i c a lc a s e s,a n a l y s i sw i t h h a V es u 加m a r i z e ds o m ep r o b l e m si nt h ee m b e d d e da p p l i c
4、 a t i o no fo p e r a t i n gs y s t e m,h a V es u m e du pt h et y p es e l e c t i n go fe m b e d d e do p e r a t i n gs y s t e mb a s i s K e V w O r d s:E c o s;U c l i n u xO 引言应用领域的不足。e c o s 是一个源码开放的可配置、可移植、嵌入式技术浓缩了计算机的核心技术,是信息技术中的无版税、面向深嵌入式应用的实时操作系统。e c o s 的核心部精华,是继I T 网络技术之后,又一个新的技术发展
5、方向。近分是由不同的组件组成的,包括内核、c 语言库和底层运行来的市场需求显示,嵌入式系统被广泛应用于信息电器、移包等。每个组件以能提供大量的可配置选项,利用e c o s 提供动计算机设备、网络设备和工控仿真等领域,嵌入式系统的的配置工具可以很方便地进行配置。通过不同的配置使得开发也成为近年I T 行业的技术热点。e c o s 能够满足不同的嵌入式应用。u c l i n u x 和e c o s 操作系统是两种性能优良源码公开且被对于以上两种源泉码公开的实时操作系统,我们主要从广泛应用的的免费嵌入式操作系统。本文通过对u c l i n u x 和以下几个方面进行比较。通过比较,能够为大
6、家选择适合自e c o s 的对比,分析和总结了嵌入式操作系统应用中的若干重己系统的R T o s 提供参考。要问题,归纳了嵌入式系统开发中操作系统的选型依据。2 基本操作性能的比较1两种开源嵌入式操作系统介绍2 1 应用程序的运算能力u c l i n u x 是一种优秀的嵌入式l i n u x 版本。u c l i n u x 是在L i n u x 和u c l i n u x 操作系统启动的时候,都会有这样m i c r o-c o n r o 卜l i n u x 的缩写。同标准l i n u x 相比,它集成了一句话“c a l i b r a t i n gd e l a yl
7、 o o p o k x x xB o g o M i p s”,标准l i n u x 操作系统的稳定性、强大网络功能和出色的文件这一过程叫做B o g o M i p s(读作b o g u m i p s)。L i n u sT o r V a l d s系统等主要优点。但是由于没有唧u(内存管理单元),其多引入B o g o M i p s 主要有两个目的,给用户一个大概的系统运任务的实现需要一定技巧。算能力的概念;由于系统中有许多代码需要精确的软件延e c o s(e m b e d d e dc o n f i g u r a b l eo p e r a t i n gs y s
8、 t e m),即时,通过B o g o M i p s 来获得软件延时每个周期消耗的时间。嵌入式可配置操作系统。e c o s 是R e d H a t 的产品,但是e c o sB o g o M i p s 的过程就是一个简单计数循环,看一秒钟可以循环并不是L i n u x 或L i n u x 的派生,e c o s 弥补了L i n u x 在嵌入式多少次,然后除以5 0 0,O o o 就得到了B o g o M i p s 的数值。117 万方数据表一是我们分别在我们的目标硬件平台上运行e c o s 和表二e c o s 和u c l i n u x 的c a c h e b
9、 e a c h 的测试结果u c l i n u x 下的B o g o M i p s 应用程序得到的结果。我们使用了不同的测试条件,激活和非激活A T 7 6 c 1 2 0 的存储器缓冲控制器。表一e c o s 和u c i i n u x 的B o g o M i p s 的比较表,单位(B o g o M i p s)从表一比较可知,打开缓冲存储器对e c o s 的应用程序性能影响较uc l i n u x 的大,反之,在关闭缓冲,e c o s 的应用程序的性能就下降很多。2 2 存储器访问能力我们采用一种同时能够测试缓冲控制器和标准存储器访问函数的测试方法来测试存储器访问能
10、力。在这里,我们选用了田纳西大学的P h i l i pJ M u c c i 等人提出的c a c h e B e n c h方法。其工作原理是,重复顺序读写一定长度的存储器块的数据,记录重复n 次所用的时间,用总的读写数据除以耗时,得到读写每一字节所用的时间。同时我们通过调整数据块的长度和不同的读写方法(使用标准函数或者使用直接代码读写),来获得不同条件对存储器读写的影响。在实验中,对于每一种测试么模式我们使用四种不同(分别为2 5 6,5 1 2,1 0 2 4,2 0 4 8 个字节)的块长度,来观察不同的块的长度对于存储器访问的性能的影响。下表是我们实验的结果,首先我们横向比较,e
11、c o s 的存储器访问性能从总体上都优于u c l i n u x。纵向比较,五种模式下性能关系大致如下缓冲读)缓冲读改写写)缓冲写)m e m s e t m e m c p y。而在同一种测试模式下,对于缓冲读,越大的块长度,其表现的存储器访问性能越好,而其他模式下,存储器访问性能基本与块长度无关如表二所示。基于以上的结果,我们的分析如下:造成e c o s 存储器访问能力优于u c l i n u x 的原因是e c o s 的应用程序获得的处理器时间较多;造成读缓冲模式下,存储器访问性能随块长度增长而变好,而其他模式下不变的原因是与A T 7 6 c 1 2 0 的缓冲控制器的回写模
12、式有关。由于A T 7 6 c 1 2 0 的缓冲控制器采用了直接回写的缓冲回写模式,缓冲控制器对存储器写操作没有任何缓冲作用,因此当处理器写存储器时基本不会享受到由缓冲控制器带来的好处,相当于直接访问外部存储器。2 3 驱动程序性能测试为了测试系统的驱动程序的性能,我们选择了c F 卡驱动程序作为测试对象,我们的测试方法简单,就是在应用程序中打开一个大文件(1o M B),然后调用f r e a d 读文件,每次读5 1 2 个字节到我们缓冲中,直至将文件读完。表三是我们的测试结果,我们可以看到u c l i n u x 的性能优于e c o s,这主要是由于u c l i n u x 的块
13、驱动有一个叫集簇的功能,它可以将对于块设备的多个请求归并在一起执行,这样对于象磁盘这样反应较慢的设备可以提高整体的读写速度。表三e c o s 和u c l i n u x 的磁盘读测试结果3 综合应用性能比较我们知道一个图像压缩和解压缩的程序往往需要大块的存储器访问操作,密集的数学运算和大量的磁盘访问。同时 万方数据由于现在手持的嵌入式设备大多需要有这方面的应用需求,e c o s 的开发模式是一套更接近传统的单片机的开发模式因此一个图像压缩和解压缩的应用程序既符合理论研究的要(如应用程序静态链接),u c l i n u x 的开发模式则更接近L i n u x求,又符合实际应用的需求。因
14、此我们选择了g i f 图片的编的开发模式。因此可以预见到e c o s 更受一批从8 位单片机系嵌入解码的程序作为我们进行综合性能测试的测试程序。测试结统开发转到32 位嵌入式系统开发的设计人员的欢迎,而式果如表四所示。u c l i n u x 更受熟悉L i n u x 的设计人员的青睐。系表四e c o s 和u c l i n u x 的g i f 图片解码测试结果6 结束语统C通过以上比较,可知由于e c o s 在设计时,从一开始就是垒了C以嵌入式系统为目标的,因此在性能上,其由较大的优势。和反观,u c L i n u x 则是由L i n u x 进化而来,因此在以速度和优o
15、o我们看到e c o s 和uc l i n u x 解码速度都很慢,这主要是化为主题的嵌入式系统环境中,并不占优。但是由于有L i n u xo因为我们完全使用了软件解压缩。而且由于A T 7 6 c 1 2 0 的图像的强大后盾,其功能的强大和兼容性是非常突出的。如果应的比显示格式是Y c r c b 的,而g i f l i b 的解压缩结果是R G B 的,我用程序是从其他系统中移植过来的,或者开发人员有L i n u x较们必须使用浮点运算将R G B 的数据转换到Y C r c b,A T 7 6 c 1 2 0的背景,或者开发成本在总成本的比例较高,则u c L i n u x
16、比的A R M 7 T D M I 又不支持浮点指令,因此不得不使用软件仿真来较适合,反之则e c o s 比较适合。完成浮点运算,这其中很大的大部分时间被用在了从R G B 到Y c r c b 的转换上。测试结果基本和前面的基本操作系统测试参考文献的结果是一致的,e c。s 在整体上是优于u c l i n u x 的。1 e c o su s e r sG u i d e R e dH a tI n c e c。s c e n t r i c4 可移植性L t d,2 0 0 3 e c o s 的系统可移檀I 生应该明显比u c l i n u x 的好。在e c o s 2 e c
17、o sT u t o r i a l R e dH a tI n c,2 0 0 2 系统中,每一个硬件平台都与一个单独的目录用于存放针对 3 e c o sR e f e r e n c eM a n u a l R e dH a tI n c e c o s c e n t r i c这一硬件平台的硬件抽象层的代码和配置信息,较容易让用L t d,2 0 03 一户理解。而u c l i n u x 的硬件抽象层的代码分布好几个目录中,4 蒋句平嵌入式可配置实时操作系统e c o s 开发与应而且各个平台的代码混合在一个源文件中,通过用 M 北京:机械工业出版社,2 0 0 4 i f d
18、 e f+牟e n d 的方式来选择不同的硬件平台的代码。而且 5】E m b e d d e ds o f t w a r eD e v e l o p m e n tw i t he c o s,A 旷e c o s 在移植时所要更改的源代码文件数小于u c l i n u x。t h o n yJ M a s s a,P e a r s o nE d u c a t i o n,I n c,2 0 0 2,p a g e可移植性不应仅仅是操作系统的移植,还应该包含应用11 程序的移植性。程序的可移植性,是由两方面决定的。首先,6 L i n u xD e v i c eD r i v e
19、 r s2 n dE d i t i o n,A l e s s a n d r o应用程序必须被编写的可以移植,关于这方面A D 0 1 e n c、R u b i n i J o n a t h a nc o r b e t,o R e i l l yA s s o c i a t e s,I n c,1 9 9 9 A L e n 瑚k e 和D K e p p e l 宅E 其”N o t e so nw r i t i n gP o r 一 7 T h eQ u i n t e s s e n t i a lL i n u xB e n c h m a r k,w i mD o r
20、s tt a b l eP r o g r a m sI nc”一文中给出了很好的解释。其次是o nM o n,L i n u xJ o u r n a l,J a n 1 9 9 6 嵌入式操作系统提供较丰富的系统函数和标准函数库。当一【8 T h ec a c h e B e n c hR e p o r t,P JM u c c i,KL o n d o n,J个系统提供的函数库越丰富,则越多的应用程序不用进行较T h u r m a n,c E w E s E R D cM S R c P E TT e c h n i c a lR e p o r t9 8 2 5,大的更改就能直接在
21、其上面运行。在标准函数方面,e c o s 只J u l y1 9 9 8 提供了较为简单的c 标准函数库和IE E E 浮点运算数学库。u c l i n U x 则提供了与L i n u x 下的g l i b c 相兼容的函数库,而作者简介g l i b c 是大部分开放源代码项目的构建基础。因此由此可以戴晟晖(1 9 7 8 一),男,江西抚州东华理工学院信息工程看出,在应用程序的可移植性上,u c l i n u x 的兼容性更好。学院在读硕士,主要研究方向:单片机与嵌入式系统;5 开发模式和开发难易度张良清(1 9 8 卜),男,江西抚州东华理工学院,主要研究方向:单片机与嵌入式系
22、统。11Q 万方数据嵌入式系统uclinux和ecos的比较嵌入式系统uclinux和ecos的比较作者:戴晟晖,张良清,Dai Shenghui,Zhang Liangqin作者单位:东华理工学院信息工程学院,抚州,344000刊名:科技广场英文刊名:SCIENCE MOSAIC年,卷(期):2006(4)参考文献(8条)参考文献(8条)1.PJ Mucci;K London;J Thurman The CacheBench Report 19982.Wim Dorst on Mon The Quintessential Linux Benchmark 19963.Alessandro Rubin;Jonathan Corbet Linux Device Drivers 19994.Anthony J Massa Embedded Software Development with eCos 20025.蒋句平 嵌入式可配置实时操作系统eCos开发与应用 20046.eCos Reference Manual 20037.eCos Tutorial 20028.eCos Users Guide 2003 本文链接:http:/