(计算机系统结构专业论文)基于硬件抽象层的嵌入式操作系统移植方法的研究.pdf_第1页
(计算机系统结构专业论文)基于硬件抽象层的嵌入式操作系统移植方法的研究.pdf_第2页
(计算机系统结构专业论文)基于硬件抽象层的嵌入式操作系统移植方法的研究.pdf_第3页
(计算机系统结构专业论文)基于硬件抽象层的嵌入式操作系统移植方法的研究.pdf_第4页
(计算机系统结构专业论文)基于硬件抽象层的嵌入式操作系统移植方法的研究.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(计算机系统结构专业论文)基于硬件抽象层的嵌入式操作系统移植方法的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

攘要 髓鏊计冀机、擞电子在技术釉工艺方蕊的飞速发展,嵌入武象统也得到了巨大 的发展,从它在工业、民用、军攀、科研等各个方面的应用,可以看出它正逐渐影 响着人们的生活。 赞对挺越广阕的皮用,围绕嵌入式系统展拜的磺究翔开发也逐灏成为计算机软 硬传技术发展最活跃的方恕之一。i 魄着嵌入式藤统处理器主频不断增加、性懿不断 - 提商,熬来越多的嵌a 式系统需簧使糟到嵌入式掇作系统。随之学f 来了嵌入式系统 开发的一系列问题,操作系统移植便是其中之。 传统计算桃操作黎绞采甩无限制约赢接访阅硬彳牛方式,导致操作系统不稳定、 移摭困难、软硬件接口不熊统一等闭题发生。在嵌入式领域,由于其自身特点,辩 操作系统的移植更具襄时蘩求,w 怒目前在这方两,还没有套行之有效的通糟方 法,锌辩不瓣的硬释平台,搡佟系统的移植襞徒器簧麸头开始,案太藿耋笈熬翁王 作要锻,还娶考悫犬蠢底瀑疆穆壤患,秽接速度授羯期长,露聪稳定性不巍,严重 隧礴了一套蘩开发出采熬嵌入式产愚投放市场豹及时戡,致搜产龋不能捡褥先桃。 因藏,我积避饬鬻要研究窭囊造龠子嵌入式篆绞秘捺雅系统移褴方法t 零沧 文爨绕终者程复虽大学诗雾瓤系嵌入蕊系绫实验羹参与静国褰8 6 3 顼嚣嵌入式 c p u 舞发耱s o c 设计平裔技笨研究,褒分接了巍翦嵌入式系统开发中所遇到的蛔题, 劳小结了现有硬件抽象层的特点和不足之后,引入丁嵌入式累统硬件抽象屡的方法n 根据这个方法,作者程使用基予a r m t t d m i 核盼嵌入式处理器s a m s u n gs 3 c 4 4 b o x 酶 m i c e t e ke v 4 4 b o i i 开发平台上敲了嵌入式系统硬律糖象层静蜜魂,势显或葫璃庭莲 子uc 1 i n u x 撩作系统静移植中。按鬻,佟者鞋一个应瑶程穿密铡进一步强亿了这转 方法熬可行褴帮照| 邈努法均建越寒的平螽系统黔稳定哥靠蝗。零论文最后总缝和展 望了嵌入式系统硬绺撼象鼷的应熙秘今麝可以继续发展的方囱。 槽倍本论文所巢搿并缎实验检验的这种方法繇够为今螽番豢缫佟系凌程嚣张嵌 入式硬l 警平台主鹣穆檬提供一些参考,在嵌入蕊镁域发挥积极的作用。 关镳词:a l u m ,x s c a l c 。嵌入式系绕,嵌入式操体系统,# c l i n u x ,e c o s , w i n d o w sn t ,硬件抽簸层( h a l ) 。 a b s t i 矾c t a sar e s u l to ft h ec o m p u t e ra n dt h em i c r o e l e c t r o n i c s r a p i dd e v e l o p m e n t i nt e c h n i c a la n dc r a f ta s p e c t ,t h ee m b e d d e d s y s t e ma l s oo b t a i n e dh u g e d e v e l o p m e n t f r o mi t sa p p l i c a t i o ni nt h ei n d u s t r y ,c i v i l ,t h em i l i t a r y ,t h e s c i e n t i f i cr e s e a r c ha n de t c w em a yf i n di tg r a d u a l l ya f f e c t i n gp e o p l e s 1 i f e i nv i e wo fs u c hb r o a da p p l i c a t i o n ,t h e s t u d ya n dd e v e l o p m e n ti nt h e e m b e d d e ds y s t e ma l s og r a d u a l l yb e c o m e so n eo fm o s ta c t i v et e n d e n c i e s c o n c e r n i n gc o m p u t e rs o f t w a r ea n dh a r d w a r et e c h n o l o g i c a ld e v e l o p m e n t a l o n g w i t ht h ee m b e d d e ds y s t e mp r o c e s s o rf r e q u e n c yu n c e a s i n g l yt oi n c r e a s e ,t h e p e r f o r m a n c eu n c e a s i n g l yt oe n h a n c e ,i t sa p p l i c a t i o nm o d e a l s ot r a n s f o r m s f r o mt h ei n i t i a ln o n o p e r a t i n gs y s t e ma n ds i n g l e 。t a s ks y s t e mt ot h ep r e s e n t t h em u l t i t a s k so p e r a t i n gs y s t e m a n dt h i sh a sb r o u g h tas e r i e so fp r o b l e m s i nt h ee m b e d d e ds y s t e md e v e l o p m e n t o n eo f 而i c hi st h eo p e r a t i n gs y s t e m p o r t i n g t h et r a d it i o n a lc o m p u t e ro p e r a t i n gs y s t e ms e l e c t st h e u n li m i t e dd i r e c t a c c e s sw a yt oh a r d w a r e ,w h i c hc a u s e sas e r i e so fp r o b l e m s ,s u c ha st h e o p e r a t i n gs y s t e mi n s t a b i l i t y ,t h ep o r t i n gd i f f i c u l t ya n dt h es o f t w a r ea n d h a r d w a r e sc o n n e c t i o nn o tu n i f i c a t i o n t h ee m b e d d e df i e l d f o ri t so w a c h a r a c t e r i s t i c s ,h a sm o r er e a l t i m er e q u e s tt ot h eo p e r a t i n gs y s t e mp o r t i n g , b u ta tp r e s e n ti dt h i sa s p e c t t h e r ei ss t i l ln o to n es e to fe f f e c t i v eg e n e r a l m e t h o d s a i m i n ga td i f f e r e n th a r d w a r ep l a t f o r m ,w eo f t e nh a v et or e s t a r tt h e o p e r a t i n gs y s t e mp o r t i n gw i t hm a s s i v ed u p l i c a t e dw o r k ,a n da s oh a v et ot a k e t h em a s s i v eu n d e r l y i n gh a t d w a r ei n f o r m a t i o ni n t oa c c o u n t ,a n dt h i sr e a l l y s l o wd o w nt h ec y c l e ,s o m e t i m e st h es t a b i l i t yi sn o th i g h ,w h i c bs e r i o u s l y h i n d e r e du sf r o ms e n d i n gas e to fn e w l y d e v e l o p e de m b e d d e dp r o d u c t st ot h e m a r k e tti m e l y ,a n dc a u s et h en e wp r o d u c t sc a n n o tt ot a k et h em a r k e t i n i t i a t i v e t h e r e f o r e ,w eu r g e n t l yn e e dt od e v e l o pas e to fo p e r a t i n gs y s t e mp o r t i n g t h e o r ya n dm e t h o dt os u i tt ot h ee m b e d d e ds y s t e m i nt h i sp r e s e n tp a p e r , c e n t e r i n go nt h en a t i o n a l8 6 3p r o j e c t - - d e v e l o d m e n to fe m b e d d e dc p l :a n d r e s e a r c ho f s o cd e s i g n i n g p l a t f o r mt e c h n o l o g yi nw h i c hip a r t i c i p a t e di nt h e e m b e d d e ds y s t e ml a b o r a t o r yo ff u d a nu n i v e r s i t y ,t h ea u t h o ra n a l y z e st h e p r o b l e m sm e ti nc u r r e n te m b e d d e ds y s t e md e v e l o p m e n t ,a n ds u m m a r i z e st h e e x i s t i n gh a r d w a r ea b s t r a c t i o nl a y e rc h a r a c t e r i s t i c sa n dt h ed e f i c i e n c y ,t h e n p r o p o s e s 锄et h e o r yo fe h a l ( e m b e d d e ds y s t e mh a r d w a r ea b s t r a c t i o ni a y e r ) w i t ht h i st h e o r y ,t h ea u t h o r ,b yu s i n gm i c e t e ke v 4 4 b o i id e v e l o p i n gp l a t f o r m o fd e c li n e sp r o c e s s o rs a m s u n gs 3 c 4 4 b o xb a s i n go nt h ea r m t t d b l tc o r e ,h a s r e a l i z e dt h ee t m l ,a n ds u c c e s s f u l l ya p p l i e dt ot h eo p e r a t i n gs y s t e m # c 1 i n u x p o r t i n g t h e n ,w i t ha na p p l i c a t i o np r o c e d u r ee x a m p l et h ea u t h o rh a sf u r t h e r c o n f i r m e dt h et h e o r y sf e a s i b i l i t ya n dt h i sp l a t f o r ms y s t e m ss t a b l e r e l i a b i l i t y 。i nt h ee n d ,t h i sp a p e rp r e s e n t sa sac o n t e m p o r a r ys 稍l a r yo f t h ea p p l i c a t i o na n dp i c t u r e su st h ep o t e n t i a lt e n d e n c i e so fe m b e d d e ds y s t e m h a r d w a r ea b s t r a c t i o nl a y e r 1 h e8 醢t h 。ri sc o n f i d e n tt h a tt h em e t h o dp r e s e n t e di n t h i sp a p e ra n d c o n f i r m e dw i t he x p e r i m e n tw i l lp r o v i d es o m er e f e r e n c ef o ro p e r a t i n gs y s t e m p o r t i n go ne a c hk i n do fe m b e d d e ds y s t e mh a r d w a r ep l a t f o r m ,a n dw i l lp l a yi t s p o s i t i v er o l e i nt h ee m b e d d e ds y s t e mf i e l d k e yw o r d s :a r m ,x s c a l e ,e m b e d d e ds y s t e m ,e m b e d d e do p e r a t i n g s y s t e m ,g c l i n u x e c o s ,w i n d o w sn t ,h a r d w a r ea b s t r a c t i o nl a y e r ( h a l ) 近年来,微电子技术飞速发展,计算机硬件的集成度越来越高,体积越来越小, 性能越来越强。有些常用于嵌入式系统的处理器( 如x s c a l e 、a r m l1 ) 的主频已经 超过了4 0 0 m h z 。这些微处理器在体积上很小;在单位功耗上很低:在价格方面, 高档嵌入式处理器近年来随着使用量的大幅度增加和技术的进步,也在快速地下降。 这些都为嵌入式系统的发展提供了必要的条件。大量的个人电子消费品,各种3 c 产品( c o m p e e r 、c o m m u n i c a t i o n & c u 髓o m e r ) 和l 产品( i n f o r m a t i o na p p l i a n c e ) , 例如智能手机、p d a 口e r s o n a ld i g i t a la s s i s t a n t ) 、数码相机等就是上述技术发展的产 物。嵌入式系统一般体积较小,系统程序、应用程序一般装在f l a s h 或r o m 中, 无存储量大的硬盘设备等,这些特点决定了嵌入式设备的操作系统和台式机的必然 有所不同。特别是嵌入式系统不像台式机那样有相对统一的硬件标准,即使是采用 同一种c p u 设计制造的不同硬件平台有时也相差很大( 如各种外围设备用的控制芯 片可能差别很大) 。这些原因导致了在嵌入式应用领域难以出现像台式机那样由少数 操作系统垄断的局面,因为任何一个嵌入式操作系统也难以做到能适应各种c p u 以 及多种多样的硬件平台,这为我们发展本国自己的嵌入式系统提供了机遇。但是, 国外嵌入式系统的开发和研究早在二十年多年前就已开始,商品化的嵌入式操作系 统产品就有数十种之多,而我国在嵌入式操作系统的研究开发方面起步比较晚,还 有许多研究开发工作需要做。 从近几年的研究和发展来看,跨越尽可能多的硬件平台是各种嵌入式操作系统 的基本追求之一,如何能将嵌入式操作系统快速地移植到新的硬件平台,是开发嵌 入式操作系统时必须加以注意的问题。从可移植性考虑,合理设计整个嵌入式系统 的体系结构是十分重要的一环。我们认为,在大多数情况下,特别是用于个人消费 类电子产品中时,在如此激烈的市场竞争和实时性要求下,简化操作系统移植过程、 缩短操作系统移植时间是非常重要的。通过长期的开发研究,人们对操作系统的认 识己很渐进深入,操作系统的开发方法已逐渐完善,模块化和分层设计已成为目前 绝大多数操作系统的实现方式。嵌入式操作系统的开发和其它操作系统的开发方式 有很大的相似性,但嵌入式操作系统有其自身的特点,如通常需要支持多任务,基 于优先级的抢占进程调度,以及内存管理和设备驱动等。由于大部分嵌入式系统的 存储器资源和处理器能力有限,这需要嵌入式操作系统在体积和运行开销两方面都 必须非常紧凑。对于有实时性要求的嵌入式系统应用,操作系统需要保证在确定时 闻肉麓够及时响应事律、完成任务。由于萁应蘑的广泛性帮专矮襁,决定了嵌入式 操作系统的可移植性隳好,这样才莉生命力。对于可移植性的保证,有些操作系统 是通过用硬件抽象来嶷现的,我们在分析研究威认为在嵌入式操作系统的开发中 弓| 进硬梅糖象爰是十分必要熬,它衾绘墨爱乎台闯携移撞工 乍劳寒缀大豹便利,否 则,今聪这个过程将成为耗时费力瞬工作。同时硬件抽象层结构静好坏对于歼发、 完善系统的工作量等均有很大的影响。为了能实现操作系统跨越多种硬件平台,我 们对硬件抽象层作了一定的研究,在分析了当今流行的多种操作系统( 包括台式机 稻嵌入裁撵传系统) 藤,提出了基予硬箨箍象基懿嵌入式揉终系统移禳方法,”手覆 结合我们实际的工作对硬件抽象层作一些阐述。 2 2 嵌入式系统开发 2 1 嵌入式系统体系结构概述 自从世界上第一台计算机在1 9 4 5 年诞生以来的半个世纪中,计算机技术一直处 于变革和发展中。现在,以微处理器和网络计算为特征的嵌入式系统蓬勃发展,嵌 入式处理器芯片也得到广泛应用。所谓嵌入式系统,是融合了计算机软硬件技术、 通信技术和半导体微电子技术,它采用“量体裁衣”的方式把所需的功能直接嵌入 到应用系统之中,是信息技术的最终产品。 对嵌入式系统体系结构的分析是我们对该领域进行其他一切研究和开发的基 础。从体系结构的角度来看,嵌入式系统是由嵌入式软硬件所组成的一个有机整 体。一般来说,嵌入式系统的架构从低向上的层次结构依次为:嵌入式硬件平台、 嵌入式操作系统、中间件、应用平台套件a p s 和各种不同的应用软件,如图2 - 1 所示,现有的嵌入式设备都是按照这样的层次结构组建起来的。 各种不同的应用软件 应用平台套件a p s 中间件 嵌入式操作系统 嵌入式硬件平台 图2 - 1 嵌入式系统的层次结构 i n t e l 公司在2 0 0 0 年9 月推出的基于a r m 系列处理器面向无线互联网的嵌入 式系统架构一一i n t e l 个人互联网用户架构p c a ( p e r s o n a li n t e m e t c l i e n t a r c h i t e c t u r e ) 是当今嵌入式系统体系结构的代表之作。它使用基于构件和接口的 硬件体系把蜂窝平台开发环境分隔成两个部分:通信子模块和应用子模块。它支持 通信和应用软件之间的编程接1 :3 和服务,也支持多操作系统和无线接1 :3 ,方便移植 和可量测性,具有很好的市场前景。 3 蠡潮2 - 2 瘊示,凌p c a 桨秘中,簸糕屡是x s c a l e 核( 采瘸a r mv 5 t e 絮捣 的处理器) ,配之以必疆的外设、内存及存储器。在主板上,遥有一些平台服务, 例如电源支持等。 在筵疆 季平台之上,是一个疆l 警糖象层( h a r d w a r ea b s t r a c t i o nl a y e r ) ,它与疆 件结构紧密相关。硬件抽象层提供给w i n c e 操作系统内核以搽作硬件设备的统一 方法,像是硬件与对o s 内核的接阴。 内羧调躅硬终麴象罄提供嚣露数瘁完成操幸磬系统弱一觳秘裁,舞蟊逶壤镑议 栈、进稔调度、内存管理等。同时,它本身叉为上偿的运行库朔中间件提供服务。 i n t e l 公司为p c a 架构平台提供了组件形式的集成性能中f 埘伴、集成性能黼数 库i p p ( i n t e g r a t e dp e r f o r m a n c ep r i m i t i v e s ) 秘嚣彤毪憨蕊数薅g p p ( g r a p h i c s p e r f o r m a n c ep r i m i t i v e s ) ,以供上层应用程序调用,方便为满足客户薷隶而进行 产品功能的定制,节约产品研发的成本和时间,加快了产品推向市场的速度。 蔬产手聚鞋 用户鹰闱 i固有应用 自制的应用 a 1 0 二。? ? 耧霉 雷青审湾捧 t 如哐h e c l i ,$ 糊p 虬l = = ;l = = = i 虚铆i 潞 i 回里要日i 舟 圉嚣l 掇圈蟹掰鞫冒圈嚣翔灞 秘强墨攫 l 麟蚕麟瑟驻谨i 獭窭霪 褥 l 目辩l l 窭耍嚣嘲l 瞳嘲m 疆暖嚏鳃嚣i黛h 啦蛆睫醴嘲圈鲤豳圈幽嘲目i 簟i 强 硬州 戆蹑罂1 2 一一一。一黛 4 4 5 p 一一一一一 t j | 一墨秣, 矾。lp c 蝴平爵c a i 煳嘣, 墟一讳存睹) 图2 - 2 f p c a 架构体幕结构 4 嵌入式系统开发 在p c a 架构中,非常值得注意的部分就是硬件抽象层。在这一层中,集中了所 有对硬件进行直接操作的代码它为操作系统内核的简化设计和可移植性带来了很 大便利。关于硬件抽象层的特点、用途和嵌入式设备上的硬件抽象层的设计实现, 在本论文后面的章节中,将会逐一论述。 2 2 嵌入式操作系统 从计算机诞生起,人们就在不断寻找一种方法来使用户方便简单地使用它,操 作系统由此而生。操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的 第一次扩充,它有效地控制和管理着计算机硬件系统和软件系统资源,方便用户充 分而有效地利用这些资源。 在早期简单的嵌入式系统中,并没有操作系统。但是现在,各种操作系统被越 来越多地应用于嵌入式系统中,它们能够提高软件开发的效率和质量a 嵌入式操作 系统有着自己的一些特点,大致如下: ( 1 ) 整个系统所占的空间要小,这主要是由其应用领域所决定的a 为了适应嵌入 式设备存储容量有限的特点,操作系统一般由微内核及一些可以根据需要进行定制 的系统模块组成,整体占用空间比较小,功能一般比台式机上的操作系统弱。 ( 2 ) 实时性强。由于嵌入式系统大多用于和各种控制有关的系统,因而对其实时 性的要求一般比台式机要强。 ( 3 ) 专用性强。一般和硬件的联系比较紧密,都是针对各种特定用途而设计,根 据不同的应用而呈现多样化的形式。 ( 4 ) 应用广泛。广泛应用于各种航天飞行器控制系统、数字电视机、v c d 、学习 机、寻呼机、手持电话,p d a 、掌上p c 、电话系统、数字相机、各种智能设备、仪 器仪表等众多的军用和民用领域。 ( 5 ) 可移植性要好。由于其应用的广泛性和专用性,决定了嵌入式操作系统的可 移植性要好,这样才有生命力。 5 嵌入焱操作系绞豹送些特点决定了我镪在臻突它静对谈必然与研究台式撬的操 作系统裔所不同,而鼹要考虑到它的一些自身特点。目前嵌入式操作系统发展避入 一个平稳期,各种枝节理论迅速发展并稳定,为总体结构突破掇供了良好的基础。 因瑟,撩终系统软终毂w 移植牲已经成为当翦各糟嵌入式操孛# 系统磷究的一个主越。 在这个警题的研究中,我们遇到了诲多需要解决静淹题。 2 。3 嵌入式系统开发遇戮的几个闳艨 人们经过若干年的嵌入式系统研究并= 发,总缩发现在嵌入式系统开发中常常遥 到许多问题,大致有如下几个: 1 系统开发懿势簿鳇低,嚣发蠲麓长蕊费大 嵌入式系统作为软硬件结合的有机整体,通常黼时涉及到软稗开发和硬件歼发 两个过獠。现有的开缴模式中,这两者的并行性难以提高,软件设计和澳0 试都焐在 硬件设计翱测试完成之后才开始,这光疑使褥开发周期延长。从项耳管理的角度来 看,茨蠢黔开发工俸都疑子关键舔饺上,氇就是涟凌这个过程串绦 霉嚣节懿 亭镶嚣 会导致麟个开发周期激长。软件开畿中的反复性也使得开发周期不可预测。 2 款疆律接口不缝完全统一 软硬俸开发率缺纛协同,接霜檬准斡不一致搜褥一方嚣软佟舞发久员在滋纷程 序设计时必须去了解硬件特性,另一方面又使得硬件设计者在谶行硬件设计时常常 顾虑软件嚣求。但是邋两组人员对系统的看法往往烙不完全相同的,这导致软髓件 接曩经紫难鞋统一,势遗藏开发霹静复杂蛙增杰羁。黥基,一旦擞溪趣露,缀难抉速 确定至l 麻蹙硬件还是软释的责任。 3 软件对硬件的任意直按访问带来了很多问题 在一令丈型软终系统孛,必须羧割软修直接捺终疆 孛静方式粒数量。经过人们 实蔑总结发现,程序设计直接与硬韩遄信,是造威系统不稳定的生要原医t 爵诧, 人们正谯试图寻找一种更为可靠的办法来限制这种对硬件的任意赢接访问a 比如, 微软公镯甩d i r e c t x 技术来代替w i n d o w s 操作系统辩计算机显示芯片的直接操作, 就是受了控案l 遽释奁羧疆箨访麓爨遮袋豹系统不穗是蛙。 4 嵌入式操作系统移植困难 6 操作系统常常是某种硬件平台上第一个要完成的软件系统。它控制着下层硬件, 为处理器之间、进程之间提供通信服务,控制事件处理、信号量管理,访问块内存 等等。它的底层由硬件决定,它本身还决定了上层的应用开发。因此,在进行操作 系统平台移植,即改变其运行的硬件基础的时候,不得不重新考虑操作系统的组成 结构。 在目前大部分的嵌入式操作系统架构下,当系统软件的执行要针对不同的硬件 目标时,将引入很大的问题。这就是:底层硬件将提供给操作系统不同的服务,或 者,提供相同服务的不同访问方法,使得软件开发者要耗费很大的代价来将操作系 统移植到不同的平台上。 现今市场上,很多情况是嵌入式操作系统和硬件捆绑在起销售。有些人把撵 作系统想当然地当作不可移植的一套软件。l i n u x 的创始人l i n u sb e n e d i c t t o r v a l d s 在1 9 9 1 年曾经就l i n u x 的移植性方面说过:“i ti sn o tp o r t a b l e ( u s e s 3 8 6t a s ks w i t c h i n ge t c ) ,a n di tp r o b a b l yr l e v e rw i l ls u p p o r ta n y t h i n go t h e r t h a na t h a r d d i s k s ,a st h a t sa l lih a v e :一( ”可见在l i n u x 的初期,移植性 并没有得到重视和认可。但是在l i n u x 近期的内核版本中,已经开始支持a r m 、m i p s 等嵌入式处理器平台。现在,操作系统移植的重要性已经逐步为人们所认识到。 2 4 小结 综上所述,我们认为,必须研究出一种计算机系统方法,来试图解决嵌入式系 统开发中的这些问题,特别是为嵌入式操作系统移植提供便利。 7 3 嵌入式操作系统移植的方法 根据前文的分析,这里提出了一种基于硬件抽象层( h a l :h a r d w a r ea b s t r a c t i o n l a y e r ) 的嵌入式系统开发解决方案。根据该方案,嵌入式系统的开发,包括嵌入式 操作系统移植中的许多问题都可以得到很好的解决。 3 1 硬件抽象层的定义和特点 从软件角度来看,硬件抽象层是从操作系统内核提炼出来的一个层次,严格来 说,它本身就是传统操作系统内核的一个不可缺少的部分,只是从软硬件协同设计 和可移植性等方面考虑才将其作为一个单独的模块来对待,它处于操作系统的最低 层,直接控制和访问硬件,是介于硬件平台和操作系统内核模块的一个层次,其主 要作用是向其它与机器无关的代码提供服务,从而使系统内核和具体的硬件平台隔 离开来,实现和具体硬件平台的无关性。 目前在国际上,硬件抽象层这个概念刚提出不久。由于具有诸多优点,它正逐 步应用到嵌入式系统领域中。但是关于硬件抽象层并没有形成的统一的标准,在它 的功能描述上也有多种意见,并没有人提出过硬件抽象层的具体模型和完备的接口 定义,这也正是我们在此领域做深入研究的原因之一。 这里,我们根据实际使用的需要,给出硬件抽象层的解释和描述: 硬件抽象层是一层直接依赖下层硬件的软件库,是对物理器件的一种逻辑抽象。 对上,它提供给操作系统内核一套统一的接口,即标准逻辑功能部件:对下,它为 硬件设计提供一套设计需求和规范,它本身实现了从逻辑操作到物理操作的转换, 为操作系统移植和系统软硬件协同设计提供了便利。 3 2 硬件抽象层的作用 一般来说,硬件抽象层在嵌入式系统的两个方面具有很好的应用:嵌入式系统 软硬件协同设计和嵌入式操作系统移植。 8 3 2 i 嫒释拯象瑟在激a 式系统敬矮锌稔霹设计孛貔俸甬 1 传统模式嵌入戏系统开发横型 如何缩短嵌入式系统的开发周期,洚低开发成零,以及提齑产品的可靠性已戎 为嵌入姣幸亍篷营遮关注的逮题。在嵌入式系统设诗中,逶常采溺瀑奄模鍪释v 字并 行模型这两种设计方漩,如图3 - l 所示: 图3 - 1 瀑布模型和v 字并行模型 ( 1 瀑毒模式帮黢过程 瀑布模式开发过稷工作模式简单,任务的划分协调及人员安排、物质材料的分 配管理都比较容易。歼发过程为从硬件到软件的流水线式进行。此类开发方捉有咀 下特点: 夺开发所需人力、物力资源有限,一般一个绒几个人即w 完成 夺要求开发人员对软、硬件设计和制作都比较熟悉。 夺怼开发竭糕螫浆不裹,越类开发过程无疑会菠蠲最长瓣辩发震鬟a 夺在开发过程中,任一环节的阻塞都会影响其它环节的开发a 9 ( 2 ) v 模式开发过程 v 模式开发过程为一种并行的工作方式,任务的划分协调及人员安排、物质材 料的分配都必须考虑不同工作内容,开发过程为硬件和软件同时进行,最后联合调 试。此类开发方式有以下特点: 夺大系统,如利用p o w e r p c 等处理器设计的网络交换访问设备。 夺开发人力、物力资源比较丰富。 夺开发人员分工比较明确,软件开发者可不需了解太多的硬佯信息,而硬件 开发人员对软件也可不做太多了解。 夺有利于缩短开发周期。 夺在开发过程中,软、硬件设计独立进行。硬件开发的阻塞不会影响软件开 发过程,同样,软件开发的阻塞不会影响硬件的开发过程。 但在v 模式开发过程中,仍存在以下问题: 夺设备驱动程序的可移值性差,与硬件和操作系统均有密切相关性。 夺软件测试需要等硬件完成以后才能进行。 夺对于每个设备驱动程序设计人员都需有软件和硬件的知识背景a 夺在测试过程中,很难判断错误是由硬件还是由软件造成的。 为了克服v 模式开发过程中的上述问蹶,我们将v 模式开发过程稍作改进,增 加了硬件抽象层,对系统软硬件起到隔离作用。从而提高系统软件的可移值性及有 效地利用人力资源、缩短开发周期和提高产品的可靠性。 2 基于硬件抽象层的嵌入式系统开发模型 ( 1 ) 采用硬件抽象层的系统开发过程 如图3 2 给出的包含硬件抽象层的v 模式开发过程。在系统需求分析并定义了 软硬件各自的设计要求以后,就需要花费一定的时间来定义硬件抽象层的接口,以 确保硬件设计和测试与软件设计和测试工作能够在相同的接口上进行,从而有利于 最终的软硬件集成测试。 1 0 图3 - 2 包含硬件抽象层的v 模型开发过程 从图3 - 2 中可以看出,在采用硬件抽象层的v 模式开发过程中,软硬件的设计 和调试具有无关性,并可完全地并行进行。硬件的错误不会影响到系统软件的调试, 同样软件设计的错误也不会影响硬件的调试工作,这样就可以大大缩短系统的测试 周期并提高系统的可靠性。 ( 2 ) 采用硬件抽象层的系统结构 在采用了硬件抽象层之后,系统的结构大致如图3 - 3 所示,硬件抽象层完全把 系统软件和硬件部分隔离开来,这样就使得系统的设备驱动程序与硬件设备无关。 从软硬件测试角度来看,软硬件的测试工作都可分别基于硬件抽象层来完成,使得 软硬件的测试工作的并行进行成为可能。在抽象层的定义方面,需要规定统一的软 硬件接口标准,从系统集成的角度来看,硬件抽象层就是软件和硬件集成的标准。 其设计工作需要基于系统需求来做,代码工作可由对硬件比较熟悉的人员来完成。 其内容一般应包含相关硬件的初始化、数据的输入输出操作、硬件设备的配置操作 等。 嵌入式操作系统移植的方法 应用软件 操作系统 设备驱动程序 硬件抽象层 l硬件平台一 图3 - 3 采用硬件抽象层的系统结构 3 2 。2 硬件抽象甚在嵌入式操作系统移植中的作用 硬件抽象层在嵌入式系统平台移植方面具有很好的实用价值。 嵌入式系统硬件平台种类繁多,而且每时每刻都有新的平台处于设计之中,随 着嵌入式硬件性能的逐步提高,操作系统在各种新平台上的使用也越来越普遍,这 给操作系统移植带来了需求。一种稳定高效的操作系统如果能运行在尽可能多的平 台上,那么这种操作系统可以说具有很大的价值。但是,满足诸多平台要求的操作 系统需要具备一些特性。一个可以运行在多种平台的操作系统需要具有良好的平台 移植性,具体的说就是: 尽量用高级语言编写。 将代码分为与硬件相关和与硬件无关的两部分。 提供给高层统一的接口。 但是,操作系统本身是一个很复杂的系统软件,并非很多人都对其原理了解得 很透彻,如果对操作系统本身代码功能和结构不了解,以至在移植时进行了一些不 正确修改,大部分时候,系统是不能正常启动的。即使能启动,也容易造成系统不 稳定,甚至崩溃。 1 2 在我们剐开始傲操作系统移植盼盼暌,确实也题先从分析搡作系统源代码入手 的,但是现在操作系统麟盏复杂,其中有很多童接控制硬件的代码,需要遍历缀多 代码文件才能我出所有的与硬件宜接交甄的部分,代价是昂贵的。 硬件抽象层的方案可以使操作系统更好媳满足上述条件。它擒出的目的是为了 建立一些般范,使操作系统在一个抽象出来的层次上与硬徉交互,从箍使相同的内 核与驱动耩序可以运行在不同的平台上,而不必要修改程序的源代码,邸它在提 丑 蛉辩候,实珑了下蘧的蕊个功熊,在莱萋孛程度上裁解决移植淹题: 1 实现硬秽相关秘硬传茏荚的穗郏分代璐的瞩藤。 2 对硬件无关部分代码隐藏硬件区别,硬件抽象层本舟是具有具体硬件特性 懿,透过这一屡代码来为其德代码提供一个没毒磺转特性的接口。 由于嵌入式操作系统面i 窿羲大量鲍不同硬件平台,医此嵌入式操作蓉统可移植 性的好坏不仅关系剩开发的嵌入式操作系统的发展前途,而且对予开发、完善、移 檀遮令操臻系统熬王终囊等均鸯缳大的影嚷 硬终抽象层怒较俘与硬律的缝合体,它蛇形式楚软件,但是它的建容却是由硬 件决定的,硬件抽象层的内容与硬件平台一一对应。因此,在底魇硬件平台发生变 绽孵,硬传糖象袋静建雾毪要麓之发生交往。 撵季筝系统移獯 = 銎3 , - 4 蓬焉 b 镰靛撩撵系统移辕过程 】3 图3 4 中,深色框中的部分是在平台移植的时候需要修改的部分。硬件抽象层 分成了两部分:一部分是硬件抽象层与操作系统的接口,这部分是标准统一、恒定 不变的;另一部分是硬件抽象层在新硬件平台上的实现,这部分是随着硬件平台的 变化而变化的。简言之,接口是统一的,实现是可变的,以此来适应新的硬件平台。 根据上述分析,我们看到,通过硬件抽象层对硬件平台合理的描述,可使操作 系统内核基本和具体的硬件无关,从而容易地实现不同平台间的移植。这样就简化 了嵌入式o s 内核的移植工作,只需要修改h a 【的代码就可以移植到其它平台上,做 操作系统移植的人并不一定需要对操作系统原理有很多了解。这使得程序员从具体 的操作系统的源代码中解放出来,能够集中精力做最关键的部分,而不必漫游于操 作系统庞大的代码树中。 对于h a l 与0 s 的接口部分,文本会在第五章中进行详细论述。在队l 的实现代 码部分,第七章将给出一些具体实例。 3 3 小结 根据以上分析,我们能很清楚地看到,硬件抽象层是解决目前嵌入式系统开发 所遇到的几个问题的很好方案。它主要有两个方面的应用:嵌入式系统软硬件协同 设计和嵌入式操作系统的移植。在引入了硬件抽象层的概念之后,能够很有效地提 高系统开发的并行性,缩短系统开发周期,降低系统开发成本,统一软硬件的接口, 控制软件对硬件的任意直接访问,提高操作系统的可移植性。 本文主要会从硬件抽象层在嵌入式操作系统移植的作用这个角度去进行理论论 述和实验检验,而对嵌入式软硬件协同设计方面仅做简要介绍。 1 4 4穗关操作系统的硬件抽象层 在访一章中,我们将衡要分析w i n d o w sn t 和e c o s 这两个操作系统的硬件抽象 墨静络搀襄蹬毙,并臻凄了毫懿在嵌入式系统应躅中嚣改避翰地方。 4 1w i n d o w sn t 的硬件抽象层的络构 m i c r o s o f t 公番l 蓊勰傈罾i n d o w s 瓣系统静稳定经帮蓑容毪在箕孛镬震了硬羚撞 象层。一个好的操作系统首先要考虑的是其稳定性,针对过去w i n d o w s 9 5 、w i n d o w s 9 8 操作系统经常出现的臻统死机或者崩溃等现象,m i c r o s o f t 总绪发现,程序设计直 接与硬转逶售,是造成系统不稳定的囊要嚣困,势熙指塞,鸳使程没毒箕魏程垮的 影响下,搽作系统本身也很容易崩溃。在得出这个绪论的基穑上,m i c r o s o f t 公司 在w i n d o w sn t 系统上取消了对硬件的直接访阔,而使用了硬件抽象层的技术。按照 m i c r o s o f t 的看法,磷件抽象层就熬:“将硬件慧刺与操作系统其他部分相隔离的 一暴软张,宅是逶遘袋爝使多嚣苓鬻嫒绛在操终系绕懿箕恁罄努激来是霹一秘纛羧 机的做法米实现的”。可以说,冈歼始时硬件抽象艨的使用,并没有考虑虚用谯平 台移植肖狮,而只是为了改善p c 机操作系统的稳定性。 4 1 jw n d a w s n t w i n d o w sn t 是一个抢占式的多任务操作系统,柱实时控制中得到了越来越广泛 戆盔月,玄缒够运行多秘为不嗣嚣骧嚣编写戆瘟建疆净,惫搔多数蠛有1 6 经m s - d o s 和眦n d o w s3 i 以及 q i x 和0 s 2 盼成用程序。同时,它的跨平台性强,可以逡行 于单处溅机或多处理桃、r i s c 或c i s c 机器上。j 比外,w i n d o w sn t 还支持多种 q 络 结构积瓣络传输协议。所有这些特熟使其具有很强的生命力和竟擎力。w i n d o w sn t 搡箨系统舞维裔度横块纯的荛律耩成,这些篷髂分警罄系统翁经务。太多数每爱 件有关的基本操作都放在硬件抽象艨和小部分内梭中。硬件抽象艨与内核负责宛成 与硬件操作有关的细节。操作系统盼这种结构为其在不同平台河的移植提供了灵活 性。 1 5 4 1 2h a l 在w i n d o w sm 操作系统中的作甬 叶奢幕戮曩降纛 _ h i 囊祭蓑攀嘲暇 一。! 囊稠麓嘲咻 图4 1w i n d o w s n t 操作系统体系结构 w i n d o w sn t 操作系统的最大特点就是不依赖一个特殊硬件平台或体系结构的设 计,这是早期的o s 2 、w i n d o w s3 1 和d o s 所无法比拟的。在w i n d o w sn t 中,提供 硬件独立性的部件就是h a l 。w i n d o w sn t 包含许多不同的模块,这些模块被分成三 个主要部分,即:可执行层、微核层和硬件抽象层。三者的关系密不可分,如图4 - i 所示。h a l 是w i n d o w sn t 的最低层,它以动态链接库的形式( h a l d l l ) 提供了一 组面向平台的函数。这些函数将w i n d o w sn t 操作系统与其所依赖的基本硬件进行了 分离,它们负责处理底层的输入输出、中断、硬件缓存以及多处理机问的相互通讯 等。从w i n d o w sn t 操作系统体系结构图上可以看出 a l 在系统中的位置与作用,微 核层与硬件只有少量直接联系,大部分与硬件有关的操作通过 l a l 实现,而大部分 设备驱动程序也是通过h a l 对外设进行控制和访问。由于具有h a l 这样一种结构 1 6 因此通常一个设备驱动程序可不加任何修改就可以支持各种不同平台中的相同设 备。在不同平台间移植一个操作系统时,即使它们有相同的处理器,但它们的基本 硬件结构如i o 总线、中断控制器及d m a 控制器等可能有很大的差异。这些硬件结构 的差异影响到那些必须和硬件进行通讯的系统软件。为了实现易于移植的目的, w i n d o w sn t 使用h a l 将系统软件与硬件分离。当硬件结构变化时,只修改h a l 便可 将系统移植到另一平台上。w i n d o w sn t 的这种结构极大地减少了系统移植时的工作 和范围。 4 1 3h a l 提供的基本功镌 h a l 提供的服务按功能可分为两类:一类提供有关硬件的信息,另一类完成指 定的硬件操作。具体可分为初始化、总线处理、中断控制、d m a 、高速缓存管理以及 对多处理机的支持等多个模块组。 1 初始化 w i n d o w sn t 的引导过程通常是从系统f i r m w a r e 开始,再依次是o s 加载程序、 内核、然后是h a l ,每一步均进行一定程度的初始化工作。f i r m w a r e 和| l a l 负责完 成大部分的初始化,设备驱动程序对相应的设备如硬盘、显示适配器等进行初始化。 h a l 在进行初始化时要求系统已经完成了某些部分的初始化工作,特别是内存系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论