(电路与系统专业论文)嵌入式linux的分析及其在led异步卡中的应用.pdf_第1页
(电路与系统专业论文)嵌入式linux的分析及其在led异步卡中的应用.pdf_第2页
(电路与系统专业论文)嵌入式linux的分析及其在led异步卡中的应用.pdf_第3页
(电路与系统专业论文)嵌入式linux的分析及其在led异步卡中的应用.pdf_第4页
(电路与系统专业论文)嵌入式linux的分析及其在led异步卡中的应用.pdf_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 嵌入式技术在所谓后p c 时代中得到了越来越广泛的应用。嵌入式系统在硬件上主要以单片机 ( m c 【) ,微处理器( 肿u ) 和d s p 为基础。单片机技术日趋完善且应用广泛,d s p 专用于数据处理 方面的应用,且逐步走向与控制相结合的道路。微处理随着通信、信息家电的发展逐渐兴起,目前 是一些高端应用的首选,也是嵌入式技术的发展方向。在软件上,随着应用复杂程度的增加,嵌入 式操作系统逐步代替超级循环的软件模式,成为新的发展方向,当然这需要高性能的硬件作支持。 本文中嵌入式系统是三星的a 础芯片4 4 b o x 加上嵌入式操作系统u c l i m 的组合。三星的a 删 芯片4 4 8 0 x 一款通用微处理器,集成了丰富的外围功能。嵌入式操作系统u c l i n u x 是专门为无内存 管理单元( 删) 的处理器设计的,在许多a 跚和c o l d f i r e 内核的3 2 位芯片上应用广泛。 u c l i x 操作系统在实际项目中应用的开发过程中,会涉及到以下几个方面的问题。开发环境 的建立是首要问题,如果有条件可以购买市场上其他公司的提供开发套件,当然也可以利用网络资 源自己组建,文中提供了组建的具体步骤;其次,针对不同的应用芯片,可能需要对内核作移植, 移植时尽量先找已经移植到与目标芯片接近的芯片上的内核,文中提供u c l i n u x 在4 4 8 0 x 上的移植 参考。再者,在做稍微复杂的应用时,必然会涉及到驱动程序和文件系统问题,添加驱动程序要注 意与其他设备是否冲突,例如在设备号,或者中断资源上,文中叙述了模块化应用程序及添加驱动 程序的详细步骤。最后,如果涉及到数据的处理,则需要应用文件系统。文件系统的选择必须针对 实际应用的条件和要求,如果数据需要掉电保护,则必须选择f l a s h ,电子盘等,如果采用f l a s h , j f f s 2 文件系统是个不错的选择。 在本课题的应用项目中利用u c l i n u x 基本实现了l 功异步卡中的功能。在现有的l 即异步卡 的硬件( 主要是a 删芯片4 4 8 0 x 加c p l d ) 基础上,提供了软件实现的方案,其中涉及到了通讯( 串 口和网络) ,及进程通讯等多个方面,给出了各个进程的流程及部分源码。最后对方案进行了总结, 并提出了改进意见。 关键词: 嵌入式u c l i n u xj f f s 2 异步卡 塑! 曼坠里 a b s t r a c t ht h i sy e a 巧,哪b e d d e d 懈:h n o i o 留j sa 即e di nm r 锄dm m p m j e c t s a t 血es 泔eo f h 蚰撕a m ,陇岫蚰e d s y s t e m b b a s e d 蚰m c u ,咖ua n d d s p t h e 咖i o 留o f m c u i sp e 妇t n a w 锄d 曲a r 嚣血em a i np i a i m a r l 【e t d s p 缸a 坤i i b ki t m io fd a b w 砌hm e d e 咒l o p m e to f 舢u 面盟6 仰st h o l o 日a 叫i n f o l 唧鲥蚰e q u 呻t ,e m p ui s 印咖g i n gu p n o we m p u 缸丘r s tc h o i j 山e m p l 既叩叫i a 柑o n a tt h es i d eo f f 柳a 弛舳ee b e 棚e d o p e m n 蚰s y s 岫mt a k et h ep h 钟o ft r a d j t o n 柚舯nm d d ea n db e m et h et 瑚d0 fd 胛e 1 0 p m e n t 甜 f 吐u m t h ee m 嘲d 酣昭s t e m如m p e 鼬dw i mt h ec h i po f 岛。哪o xa n dt h ee m b e d d e do s 。 u c u n 呱咖ec h i po f 鼢c 椰叹,w h i c hi sal i 】帕o fc u r 弛n t 蛐p u ,岫魄聃t em u c hp e r i p h e r y f u n n i o n u c l 蛔i sd e s i 驴e d f o r t h e 辩c m pw j m m 姗蚰d 缸o n 蜘a p p i i e d 妯也e m p u b a s e d 蚰a 哪n o 旷k i r o d 他 w h e n 曲ee 删e do s ,u c l 蛔呱,i sa p p u e d i 恤ep m j e c t ,t h 帆w mb ea l o to f q 峭蜘岫 m u s tb ef a c e d t h e 嫩吼叩幅蚴b 也e 蚰v i m n i 耻n to f d 哪l 叩m e mf o ru c l i n 呱o n e 曲o i 虹t o b u y t h e p r o d u d d 哪l 叩e d b y m e 伽p a 町i f 也e 睫缸哪d 甜w i 也蜘g h 删删6 明s ! 皿e o 廿时 c h o i i st of o 岫d 恤e 蛐v 缸脚m n t0 fd w e k p m 蛐t b a s 硼o n 恤es o l l r d 嗍l o a d e d 劬mn e t w o 一【 t h 嚣e 呻p 盯p r 州柚e 恤e 丘o d o 辨咖pf 打也i sp m 啷s t h es 啪n dq u 蜉佃缸t h en p 0 缅gb e 蛆u 船 缅e ni sn ou c l i n 啦b a s e do ns 3 c 枷0 x 妯n e t w o r k t h ep a p 盯a i 舯d e p j c t a t e 也ep m 此蹯f o r r e p a t i n g 髓e 伽m ,w h e n y 帅印8 l o n g w 油a m p l 虹a 即肺c 棚帆,y 仰m i g h tb e h d w 妯埘v 盯 卸d 同e 昭s t 咖f o r u c l 妯暇w h e na d d i n g 山e d r v i 盯i n u c l i n 暇,了o u 眦l s ta 阳柚恤e 咖m c t w o t h 凹e 删p m e 毗仰t h e 舯u o f j 岫唧to ro m 盯u t h ec h o i o f 盈es y s t e mm u s tb e a 咖r d i 呜w i 也r e q u i 】m m e n t a n d n d 谢佃o f a p p n 偿t i o n l 王哦,i 九h e p m j e d n e e d t o 鼢他恤e d a h w h e np o w e r 虹s h u td o w n ,f l 嬲h 出p 盯m m d i s k m i l s tb ea d o p t e d w h 衄n 嬲hc h i p 缸c l i d , j 卫抛w i b e 柚a p p r o p r i 啦胁$ g h t h i s p a 畔r ,t i i e u c l i n 呱i sa p p l i 棚i na 町m c h m n i s m r d f o i u m 曲p i a y a t 恤eb a 辨o f 鼯i s 咖gh a r d w a n w h i c h 缸c 仙1 p o s e d 喇t hs 3 c 4 4 b o x 粕dc p l d ,t h ep a p 盯即i d et l i es c h e mo f 鲫f t w a m 柚d 鲫m e u k e 伽d e t h e 他w md 蛆1w i t l l 曲ep m b l 锄o fm t w 们k 唧m u n i c a 廿明锄d d c k e yw o r d s :e m b e d d e du c 王血慨j 们瞎2 a s ”c h r 岫i s m 吼r d 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过 的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并 表示了谢意。 研究生签名:必主些 日期:盘垫t5 一 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的 复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内 容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可 以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研 究生院办理。 研究生签名:部刍峪导师签名: 日u舀 刖青 随着计算机技术的飞速发展和互连网技术的广泛应用。从p c 时代过渡到了以个人数字处理 ( p d a ) ,手持个人电脑和信息家电为代表的3 c ( 计算机,通信,消费电子) 一体的后p c 时代。而 在这个领域中,嵌入式技术扮演了越来越重要的角色,被广泛应用于信息电器,移动计算机设备, 网络设备和工控仿真等领域。嵌入式系统的开发也成为近年来i t 行业的技术热点。有两个例子经常 被引用来说明嵌入式技术的应用规模和发展前景:一是美国的汽车大王福特公司的高级经理宣称, “福特出售的计算能力已经超过i 删”:二是美国著名未来学家尼葛洛庞帝9 9 年1 月访华时预 言。f 5 年嵌入式智能( 电脑) 工具将是p c 和因特网之后最伟大的发明。 从硬件上来说,嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的外 部设备中就包含了5 一l o 个嵌入式微处理器,键盘、鼠标、软驱、硬盘、显示卡、显示器、m o d e m 、 网卡、声卡、打印机、扫描仪、数字相机、u s b 集线器等均是由嵌入式处理器控制的。从软件上说, 嵌入式操作系统必然是大势所趋。以我们以往的经验,经常是三五个人的小组开发几乎不可重用的 软件,这种方式根本无法面对嵌入式系统工业化潮流的冲击,即无法达到短时间内装配集成“数百 人年”嵌入式产品软件库固化于芯片之中的目的。 与通用计算机的开发要求相比,嵌入式系统对开发人员也提出了新的要求,前者一般是计算机 科学或计算机工程方面的专业人士,而嵌入式系统则是以应用开发为主,要和各个不同行业的应用 相结合,这样就要求开发人员具有更多的计算机以外的专业知识。 目前,国内各高校也陆续开设嵌入式技术方面的课程,以适应形势发展的需要。而嵌入式技术 是个很大的范畴,具体地讲,嵌入式操作系统品种繁多,嵌入式芯片更是数以千计,如何更好地入 门和掌握嵌入式技术也是值得研究的问题。 本文中由面到点,先从嵌入式技术本身出发然后详细介绍了l i n x 操作系统,并给出了嵌入 式系统在u ;d 异步卡上的应用案例。 东南大学硕士学位论文 第一章嵌入式技术及嵌入式l in u x 1 1 嵌入式技术的概念及组成 嵌入式系统,一般指非p c 系统,通用的描述为:以应用为中心,软硬件可裁减,适应应用系统 对功能,可靠性,成本。体积,功耗等综合性严格要求的专用计算机系统:这种定义也影响了计算 机工业的分类。以往我们都是按照计算机的体系结构,规模等将其分为大,中,小,微型等四类, 但是在8 0 年代开始个人计算p c 的迅速发展到目前己占据了整个计算机工业9 0 的市场。这种变 化使得以应用为中心的分类方更符合实际,也就是按照计算机的嵌入式应用与非嵌入式应用分为嵌 入式计算机和通用计算机: 既然是计算机系统必然有广义的计算机基本组成,即包括硬件和软件。硬件上包括处理器 微处理器,存储器及外设器件和i o 端口,图形控制器等。软件上一般包括操作系统软件和应用程 序。 1 2 嵌入式处理器微控制器 硬件组成中的嵌入式处理器微控制器是整个嵌入式系统的核心和基石,决定了系统所能实现的 功能和大致的应用方向。不完全统计,目前世界上的嵌入式处理器微控制器品种总量已经超过1 0 0 0 多种,流行的体系结构有3 0 几个系列,其中以8 0 5 1 体系结构占去多半,特别是在国内,更是占有 绝对份额。而生产8 0 5 1 单片机的厂家有2 0 多个,超过3 5 0 多种衍生产品,仅p h i l i p s 就有近1 0 0 多种! 以目前的格局,我们可以把嵌入式计算机分为以下三类: 一、嵌入式处理器( e m b e d d e dm i c r 叩r o c e s s o ru n i t ,脚p u ) :这是引入嵌入式操作系统后讨论 和应用最多的一类,这也是嵌入式技术在硬件基础上的发展趋势。这一类处理器全部是r i s c 指令集的处理器,按照体系结构分类,即不涉及具体的处理器芯片而从内核角度看有以下 几种:m i p s ,美国公司设计的内核;a 脚,英国a 蹦公司设计的内核;p a w r p c ,为i 删和m o t o r 0 1 a 公司所共有的内核:6 8 k c 0 l d f i r e :m 0 t o r o l a 公司独有的内核。m i p s 内核的特点是高速。 多内核的集成,可以讲是跨入了6 4 位时代,它的最重要的芯片厂商是p m c 和i 册,前者做高 端,其芯片被c i s c o 公司大量用在路由器上。后者做低端,芯片用于低端通讯产品上。a 跚 内核的特点是低功耗,目前常用的有a 跚7 ,a 肌9 ,a 跚1 0 及s t r o n g a 跚四个版本,其设计技 术被授权给数百家的半导体厂商,制造出了种类繁多的芯片,在当今最活跃的无线局域网, 3 g ,手机终端,手持设备中被广泛应用。韩国三星公司在其面向手持设备和网络设备的处 理器上都全面采用a 脚内核,甚至m o t o r 0 1 a 公司在其手持设备处理器方面也从其独有的6 8 k 内核改成了a 脚内核,所以在手持设备领域已经成了a 脚内核的天下。国内目前也有6 家单位 购买了a 脚内核技术授权( 其中包括东南大学) 。p 0 w e r p c 内核在高速和低功耗之间作了妥协, 并集成极度丰富的外围电路接口由m 0 t o r o l 确4 造的该内核芯片已形成了一个巨大的嵌入 式处理器家族,在通信领域应用得最为广泛,国内的中兴通信,华为科技等在其通信产品 中都大量采用该家族的处理器,其中m p c 8 6 0 和肝c 8 2 6 0 是最为经典的两款。6 8 i 【c o l d f i r e 是在业界中最早也是目前最被广泛应用的内核,且在不停更新换代和发展。其中最为著名 的代表芯片是6 8 3 6 0 。c o l d f i r e 继承了6 8 k 的特点并继续兼容。 二、嵌入式微控制器( m i c r o c o n t r o l l e ru n i t ,m c u ) :就是我们通常所说的单片机,即芯片内部 除了微处理内核外,还集成了r o m ,r 埘,总线,总线逻辑及许多必要的功能和外设。为了 适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,即内核处理器是一样, 2 第一章嵌入式技术及嵌入式工j m 不同的是存储器和外设的配置及封装,这样可以是芯片最大限度地和需求相匹配,从而减 少功耗和成本。嵌入式控制器目前的品种和数量最多,比较通用的系列包括8 0 5 1 ,p 5 1 ) ( a , m c s 一2 5 1 ,m c s 一9 6 1 9 6 2 9 6 ,眦6 8 h c 0 5 1 1 1 2 1 6 ,最新出来的a v r 和p i c 系列由其本身的特 点在8 位单片机中赢得了众多用户的青睐。目前,由于8 0 5 1 系列在业界占据了长期的主导地 位,使得嵌入式控制器在嵌入式系统约7 0 的市场份额。特别值得注意的是近年来a 仰公司 将a m l 8 6 c c c h c u 等嵌入式处理器称为m i c r o c o n t r 0 1 1 e r ,o l a 公司把以p o 瓶rp c 为基 础的p p p c 5 0 5 和p p c 5 5 5 也列入单片机行列。t i 公司亦将其1 粥3 2 0 c 2 x ) ( 】【系列d s p 做为m c u 进行 推广。 三、嵌入式d s p 处理器( e m b e d d e dd i g i t a ls i g n a lp r o c e s s o r ,e d s p ) :d s p 处理器对系统结构和指 令进行了特殊设计,使其适合于执行d s p 算法,编译效率较高,指令执行速度也较高。在数 字滤波,f f t ,谱分析等方面d s p 算法正大量进入嵌入式领域,d s 啦用正从在通用单片机中 以普通指令实现d s p 功能,过度到采用嵌入式d s p 处理器。嵌入式d s p 处理器有两个发展来源 一是d s p 处理器经过单片化,翻c 改造,增加片上外设成为嵌入式d s p 处理器,t i 的 t m s 3 2 0 c 2 0 0 0 c 5 0 0 0 等属于此范畴:二是在通用单片机或s o c 中增加d s p 协处理器。例如i n t e l 的m c s 一2 9 6 和s i e m e n s 的t r i c o r e 。推动嵌入式d s p 处理器发展的另一个因素是嵌入式系统的 智能化,例如各种带有智能逻辑的消费类产品,生物信息识别终端,a d s l 接入,实时语音 压解系统等,这类智能化算法一般运算量大,特别是向量运算,指针线形寻址等较多,而 这正是d s p 处理器的长处所在。嵌入式d s p 处理器比较有代表性的产品是t e x a si n s t r e n t s 的1 粥3 2 0 系列和m o t o r 0 1 a 的d s p 5 6 0 0 0 系列。1 弼3 2 0 系列处理器包括用于控制的0 0 0 系列, 移动通信的c 5 0 0 0 系列,以及性能更高的c 6 0 0 0 和c 8 0 0 0 系列。d s p 5 6 0 0 0 目前已经发展成为 d s p 5 6 0 0 0 ,d s p 5 6 1 0 0 ,d s p 5 6 2 0 0 和d s p 5 6 3 0 0 等几个不同系列的处理器。 l3 嵌入式操作系统 完成简单功能的嵌入式系统一般不需要操作系统,如5 1 系列的单片机系统,我们开发应用程序 的传统模式就是,一个大的循环( w h i l e ( 1 ) ) 加上中断控制。但是随着所谓后p c 时代的来l 临,应 用环境在功能和性能上的要求不断地提高,这种传统的模式越来越显得力不从心。这时,嵌入式操 作系统就有了其应用平台。 从严格意义上讲,我们可以把嵌入式操作系统分为以下两类:一类是面向控制、通信等领域的 实时操作系统,如耳i n d r i v e r 公司的v x r k s 、i s i 的p s 0 s 、q n x 系统软件公司的q 、a t i 的c l e u s 等。另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理( p d a ) 、移动电话、 机顶盒、电子书、w e b p h o n e 等。而所谓“实时”,是要求能够在“规定的时间”内响应随机发生的 事件并进行处理。这里强调的是“在规定时间内”而非快速,这样就使得系统具有可预测性。但只 有在对实时过程控制或实时信息处理能力有严格要求的系统中。才会强调这样的“实时”性,而在 我们通常的应用中,或则说是对实时要求不高的情况下,也就不会深究系统的是否实时了! 事实上,嵌入式操作系统并不是一个新生的事物,从八十年代起,国际上就有一些i t 组织、公 司,开始进行商用嵌入式操作系统和专用操作系统的研发。这其中涌现了一些著名的嵌入式操作系 统: ( 1 ) w i n d sc e :大名鼎鼎的i c r o s o f t 的产品。w i n d 0 w sc e 是从整体上为有限资源的平台 设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对于从掌上电脑到专用的 工业控制器的用户电子设备进行定制。操作系统的基本内核需要至少2 0 0 k 的r o m 。展近,m i c r o s o f t 宣布准备公开w i n d w sc e 的源码,这对走“大公司路线”的用户来说又是个好消息。 ( 2 ) v x r k s :w i n d r i v e r 公司开发的,是目前嵌入式系统领域中使用最广泛、市场占有率最 高的系统。它支持多种处理器,如x 8 6 、i 9 6 0 、s u ns p a r c 、m o t o r 0 1 am c 6 8 x x x 、m i p sl ) ( 0 0 0 、p o w 职 p c 等等。大多数的v x w o r k sa p i 是专有的。采用g n u 的编译和调试器。 东南大学硕士学位论文 ( 3 ) d s 0 s :i s i 公司已经被w i n r i v e r 公司兼并,现在p s o s 属于w i n d r i v e r 公司的产品。这个 系统是一个模块化、高性能的实时操作系统,专为嵌入式微处理器设计,提供一个完全多任务环境, 在定制的或是商业化的硬件上提供高性能和高可靠性。可以让开发者根据操作系统的功能和内存需 求定制成每一个应用所需的系统。开发者可以利用它来实现从简单的单个独立设各到复杂的、网络 化的多处理器系统。 ( 4 ) q n ) 【:q n ) ( 是一个实时的、可扩充的操作系统,它部分遵循p 0 s i x 相关标准,如:p o s i x 1 b 实时扩展。它提供了一个很小的微内核以及一些可选的配合进程。其内核仅提供4 种服务:进程调 度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它o s 服务,都 实现为协作的用户进程,因此q n ) 【内核非常小巧( q n ) ( 4 x 大约为1 2 l ( b ) 而且运行速度极快。这个灵活 的结构可以使用户根据实际的需求,将系统配置成微小的嵌入式操作系统或是包括几百个处理器的 超级虚拟机操作系统。 ( 5 ) p a l m0 s :3 c 公司的p a l 0 s 在p d a 市场上占有很大的市场份额,它有开放的操作系统 应用程序接口( a p i ) ,开发商可以根据需要自行开发所需要的应用程序。 ( 6 ) h o p e n :这是国内比较成熟的嵌入式操作系统。由凯思公司开发。h 0 班n 随着女娲计划 的推出而引起人们的注意,最近联想集团推出了采用h o p e n 操作系统的p d a ,使这一操作系统开始 走向市场。 ( 7 ) u c 0 s :美国人j e l a b r o s s e 在1 9 9 2 年完成,适合小型控制系统,具有执行效率高, 占用空间小,实时性能优良和可扩展性( 可裁剪) 等特点,最小内核可编译至2 k 因为是开放源码 且对学校是免费的,所以在网上讨论的很多; ( 8 ) 嵌入式l i n u x :继承了i i n l i x 的优良特性( 稳定性,强大的阿络和出色的文件系统) , 具有内嵌网络协议,支持多种文件系统,其编译后目标文件可控制在几百k 量级! 关于嵌入式l i n u x 将在下节着重讨论。 1 4 嵌入式l i n u 】【 在介绍嵌入式l i n u x 之前,先提一下l i n u x 操作系统。l i n u x 是在9 0 年代初出现,近几年渐受 欢迎的操作系统,其最大特点是开放源代码。它原本被设计为桌面系统,但现在广泛应用于服务器 领域。而随着嵌入式技术在信息产业中不断增长的应用,1 i n u x 以其独特的魅力迅速成为这一领域 的新热点,所谓嵌入式l i n u x 也就应运而生。虽然嵌入式l i n u x 的实用化开发是近来才出现的,而到 目前为止,尚未出现完全成熟的嵌入式l i n u x 操作系统,但毋庸置疑,这一领域开发的热潮已经到来, 市场上已经出现多个嵌入式l i n u x 操作系统的版本及成功应用了嵌入式l i n u x 操作系统的产品1 1 4 1 嵌入式l i n u x 的分类 按照b u i l d i n ge b e d d e dl i n u xs y s t e m s 一书的作者k a r i my a g i l m o u r 的观点,勘b e d e d1 i n u x 可以有以下几种分类:第一种是按大小来分,可分为小中大三类,小型类适用于低档c p u 加上不超 过2 船的r 伽和4 船的r a m 的系统,事实上e m b e d d e dl i n u x 不仅仅只能在3 2 位c p u 上运行,还可 以在低级的m c u ( 1 6 位) 上运行,只是随着技术的发展这种做法不被推荐:中型类适用于中档c p u 加上不超过3 2 船的r o m 和6 4 鼢的r 删的系统,许多消费类的电子产品都可以归属于这类,常见的 有p d a ,m p 3 的播放器等;大型类适用于功能强大的c p u 加上大容量的r 叫和r a m 的系统! 第二种是 按实时性来分,即可分为实时和非实时两类,关于实时性的概念前面有论述! 第三种是按照是否具 备网络功能来分! 以上几种是比较正统,很书面的分类方法。既然市场有了嵌入式l i n u x 操作系统,我们不妨直 接从市场角度来讨论! 嵌入式l i n u x 系统的巨大市场已经吸引了一批新型的公司参加这方面的竞争, 他们利用自己掌握的用l i n u x 达到嵌入式的方法,吸引投资,开发出成型的产品,如l i n e o 、t i m e s y s 、 4 第一章嵌入式技术及嵌入式i j m x f s m l a b s 等:也有一些传统的l i n u x 公司开辟了这方面的研究如r e d i i a t 、v al i n u x 等;更值得重 视的是,一些传统的大公司如i 删、s g i 、m 0 t o r 0 1 a 、i n t e l 等也进彳亍了l i n u x 的嵌入式方面的研究 和开发: 另外还有一些开发专有嵌入式操作系统的公司,如l y i l x 公司从专有操作系统方向转型到 嵌入式l i n u x 系统,并且更名为l y n u x w o r k s 。国内的中科红旗软件技术有限公司开发的红旗嵌入式 l i n u x 正在成为许多嵌入式设各厂商的首选。红旗公司先后推出了p d “机顶盒、瘦客户机、交换机 用的嵌入式l i n u x 系统,并且投入了实际应用。 这些公司的产品主要分为三类。第一类是专门为l i n u x 的嵌入式方向而做的,如何让l i n u x 更 小、更容易嵌入到体积要求和功能、性能要求更高的硬件中去是他们的产品开发方向,如m o n t “i s t a 的h a 州h a tl i n u x 等;第二类是专门为l i n u x 的实时特性设计的产品,将l i n u x 开发成实时系统尤 其是硬实时系统,应用于一些关键的控制场合( 不仅仅是信息电器) ,如f s 1 a b s 公司,开发出来的 r t l i n u x 产品已经用在工业控制的很多方面,如葡萄牙的c o i b r a 大学已经利用r t l i n u x 实现了 化工生产控制厂里用来控制反应和程序控制的系统:第三类的产品就是将实时性和嵌入式方案结合 起来的方案,很多公司都这么做,并且提供集成化的开发方案,如l i n e o 、t i m e s y s 等等。 下面简单介绍几个嵌入式l i n u x 操作系统: ( 1 ) r t l i n u x :由f l i l l a b s 公司开发的,其最新版本是3 o b e 诅版( 针对l j n u x - 2 4 o - p 版本 内核) 。础l j n “是利用i j i i u x 进行实时系统开发比较早的尝试,其原理是将【j n 的 内核代码做一些修改,将u n l l 】【本身的任务以及i 血u 内核本身作为一个优先级最低的 任务,而实时任务作为优先级最高的任务,即在实时任务存在的情况下运行实时任务, 否则才运行n 本身的任务。 ( 2 ) h 曲e d i i :e f n b c d i 】【和基于e i b e d i x 的一整套嵌入式n n l l x 开发环境是由u n 公司开 发的。e 卫出。d 诜是基于p 0 w e r p c 和x 8 6 平台开发的,它提供了l 抽u x 的强大功能,还可 以对需要功能进行剪裁,对嵌入式设备进行支持。通过使用e i 曲e d i x 可以为自己的嵌入 式应用创建一个个性化的内核。e i n b e d i x 的设计使用了模块化的设计方案,方便剪裁系 统,从而可以生成最合适需求的勘曲e d i x 内核,达到体积和功能的最优化。 ( 3 ) b l u ec a tl j n :由【“w b r l 【s 公司提供的。b i c a t 是基于开放源码的模式进行开发 的。它基于r e dh a t6 1 和l j m2 2 1 2 - 2 0 内核,允许使用运行r e dh a tl i m 的交叉平 台机器开发嵌入式应用系统。目前b l c 札也支持3 2 位的p o w f p c 和p e n t h l m 两种微 处理芯片。同时i 扣u 蚋灿8 公司提供了m c a t 开发工具,包括c 和c + + 编译器和针 对目标芯片的汇编器。并且现在的开发工具正在准备做m i s o n 、万目l a is 锄i 0 上的移 植。 ( 4 )h a f d h a t i j n h :m o n 忸1 胁公司的h a r d 王置a t u n l l x 是专门为将i j x 做成嵌入的系统而 推出的。可以根据h a r d h 砒i j n l l x 为系统启动和运行环境做出合适于嵌入式硬件系统环 境的配置,以获得最好的性能和最小的体积。 ( 5 ) u c l i n u x :可以从其官方网站( h t t p :w w u c l i n u x o r g ) 上免费下载,主要是针对没 有内存管理单元的处理器设计的,将在下面着重讨论。 从上述各类嵌入式l i n u x 的特点看,对嵌入式l i 叫x 的开发主要集中在两个方向: 1 裁减:嵌入式设备资源有限,对软件的体积有比较苛刻的要求。由于l i n u 】【是单一模块结构, 体积较大,不适合直接在嵌入式设备中应用。许多厂商致力于开发符合原l i n u x 接口标准的小体积的 l i n u x 内核。并加强其可裁减性和可配置性。 2 实时性:在数据采集、控制、音视频等设备中,对操作系统的实时性有比较高的要求。l i n u x 并不是一个实时操作系统,因而必须提高其实时性以满足这些设备的要求。 1 4 2 嵌入式l i 叫x 的特点 与其他各类嵌入式操作系统相比,后者大多属于商业化产品,价格昂贵,而且由于它们各自的 源代码不公开。使得每个系统上的应用软件与其它系统都无法兼容。并且,由于这种封闭性还导致 5 东南大学硕士学位论文 了商业嵌入式系统在对各种设备的支持方面存在很大的问题,使得对它们的软件移植变得很困难。 而嵌入式l i n u x 在以下几个方面体现了其优势和价值,吸引了许多开发商的目光,成为嵌入式操作 系统的新宠: 可应用于多种硬件平台。嵌入式l i n u x 已经被移植到多种硬件平台,这对受开销、时间限制 的研究与开发项目是很有吸引力的。原型可以在标准平台上开发然后移植到具体的硬件上, 加快了软件与硬件的开发过程。 嵌入式l i n u x 可以随意地配置,不需要任何的许可证或商家的合作关系。 它是免费的,源代码可以得到。这是最吸引人的。毫无疑问,这会节省大量的开发费用。 它本身内置网络支持。 嵌入式l i n u x 的高度模块化使添加部件非常容易。 在本课题中采用的嵌入式l i n u x 是u c l i n u x 下章将详细讨论。 6 第二章u c “x 及其开发环境的建立 第二章u c l in u x 及其开发环境的建立 2 1u c l i n u 盖的特点 在u c l i n u x 这个英文单词中u 表示m i c r o ,小的意思,c 表示c o n t r o l ,控制的意思,所以u c l i n u x 就是m i c r 0 c o n t r o 卜l i n u x ,字面上的理解就是针对微控制领域而设计的l i n u x 系统。u c l i n u x 脱 胎于标准l i n ux ,它继承了标准l i n u x 的诸多优点,如支持多种文件系统,强大的网络功能等,但 同时为了适应嵌入式应用环境的要求,在很多方面区别于标准l i n u x 。特别是在小型化方面。 2 1 1u c l i n u x 的小型化 具体的来说,u c l i n 是通过以下几种方法来达到小型化的目的的1 1 重新编译内核:l i n u x 内核采用模块化的设计,即很多功能块可以独立的加上或卸载, 开发人员在设计内核时把这些内核模块作为可选的选项,可以在编译系统内核时指定。 因此这是一种较通用的做法即在编译时仔细的选择所需要的功能支持模块,同时删 除不需要的功能。通过对内核的重新配置,可以使系统运行所需要的内核显著减小, 从而缩减资源使用量。 2 u c l i n u x 的根文件系统采用r f s 文件系统:这种文件系统相对于标准的l i n u x 采用 的e x t 2 文件系统要求更少的空间。空间的节约来自于两个方面首先内核支持r o f s 文件系统比支持e x t 2 文件系统需要更少的代码,其次r o m f s 文件系统相对简单,在建 立文件系统超级块( s u p e r b l o c k ) 需要更少的存储空间。不足之处在于r o m f s 文件系 统不支持动态擦写保存,即对于系统需要动态保存数据的要求无法满足,当然这种中 要求可以采取其它办法来解决,例如采用虚拟r 盘的方法进行处理( r 盘将采用 e x t 2 文件系统) 等。 3 重写应用程序库:u c l i n u x 小型化的另一个做法是重写了应用程序库,相对于标准 l i n u x 的越来越大且越来越全的g l i b c 库,u c l i b c 对l i b c 做了精简。u c l i n u x 对用户 程序采用静态连接的形式,这种做法会使应用程序变大。但是基于u c l i n u x 内存管理 ( 下面有讲解) 的问题,不得不这样做,同时这种做法也更接近于通常嵌入式系统的 做法。 2 1 2u c l i n u x 在内存管理上的特点 着重需要提到的是,u c l i n u x 与标准l i n u x 最大也是最显著的区别就在于内存管理上,这也是 在u c l i n u x 中能够引发一些标准l i n u x 所不会出现的问题的根本原因! 下面具体来讨论两者在内存 管理的问题! 标准的l i n u x 采用的是虚拟存储器技术,虚拟存储器由存储器管理机制及一个大容量的快速硬 盘存储器支持。为了支持虚拟存储管理器的管理,l i n u x 系统采用分页( p a g i n g ) 的方式来载入进 程。分页即是把实际的存储器( 硬盘和内存) 分割为相同大小的段,例如每个段1 0 2 4 个字节,这样 1 0 2 4 个字节大小的段便称为一个页面( p a g e ) 。下面是虚拟存储器技术实现的简介:当一个程序在 运行之前,没有必要全部装入内存,而是仅将那些当前要运行的那些部分页面或段装入内存运行 ( c o p y - o n i t e ) 其余暂时留在硬盘上程序运行时如果它所要访问的页( 段) 已存在,则程序继 续运行,如果发现不存在的页( 段) ,操作系统将产生一个页错误( p a g ef l t ) ,这个错误导致操 7 东南大学硕士学位论文 作系统把需要运行的部分加载到内存中。必要时操作系统还可以把不需要的内存页( 段) 交换到磁 盘上。利用这样的方式管理存储器,便可把一个进程所需要用到的存储器以化整为零的方式,视需 求分批载入,而核心程序则凭借属于每个页面的页码来完成寻址各个存储器区段的工作。 这其中有个关键的环节即内存和硬盘之间的数据传输,这就需要内存管理单元( 删) 的参与, 删的功能可以简单地说为把虚拟地址映射为物理地址。删一般有一组寄存器来标识当前运行的 进程的转换表。在当前进程将c p u 放弃给另一个进程时( 一次上下文切换) ,内核通过指向新进程地 址转换表的指针加载这些寄存器。删寄存器是有特权的,只能在内核态才能访问。这就保证了一 个进程只能访问自己用户空间内的地址。而不会访问和修改其它进程的空间。这样通过赋予每个任 务不同的虚拟一物理地址转换映射,支持不同任务之间的保护。 所以,标准l i n u x 在内存管理上采用的虚拟存储器技术是针对有内存管理单元的处理器这种 设计的好处也是显而易见的,它至少可以实现以下几个功能:运行比内存还要大的程序,理想情况 下应该可以运行任意大小的程序;可以运行只加载了部分的程序,缩短了程序启动的时问;可以使 多个程序同时驻留在内存中提高c p u 的利用率;可以运行重定位程序。即程序可以放于内存中的任 何一处而且可以在执行过程中移动:写机器无关的代码,程序不必事先约定机器的配置情况;减 轻程序员分配和管理内存资源的负担;可以进行共享一例如,如果两个进程运行同一个程序它们 应该可以共享程序代码的同一个副本;提供内存保护,进程不能以非授权方式访问或修改页面,内 核保护单个进程的数据和代码以防止其它进程修改它们,否则,用户程序可能会偶然( 或恶意) 的 破坏内核或其它用户程序。当然,虚存系统并不是没有代价的。内存管理需要地址转换表和其他一 些数据结构,留给程序的内存减少了。地址转换增加了每一条指令的执行时问,而对于有额外内存 操作的指令会更严重。当进程访问不在内存的页面时,系统发生失效。系统处理该失效。并将页面 加载到内存中,这需要极耗时间的磁盘i 0 操作。总之内存管理活动占用了相当一部分c p u 时间( 在 较忙的系统中大约占1 0 ) 。 而u c l i n u x 采用的是实存储器管理策略,保留了存储器的分页管理技术,这是针对没有内存管 理单元( 删) 的设计。这种实存储器管理策略具体体现在下列三个方面:一是u c l i n u x 系统对于内 存的访问是直接的,( 它对地址的访问不需要经过舢。而是直接送到地址线上输出) 。所有程序中 访问的地址都是实际的物理地址;二是系统对内存空间没有保护( 这实际上是很多嵌入式系统的特 点) ,各个进程实际上共享一个运行空间( 没有独立的地址转换表) ;三是一个进程在执行前,系统 必须为进程分配足够的连续地址空间,然后全部载入主存储器的连续空间中。与标准l i n u x 相比较 而言标准l i n u x 系统在分配内存时没有必要保证实际物理存储空间是连续的,而只要保证虚存地 址空间连续就可以了。而u c l i n u x 系统必须为进程分配足够的连续地址空间,然后全部载入主存储 器的连续空间中;另外一个方面u c l i n u x 的程序加载地址与预期( 1 d 文件中指出的) 通常都不相同, 这样r e l o c a t i o n 过程就是必须的。此外u c l i n u x 的磁盘交换空间也是无法使用的,系统执行时如果 缺少内存将无法通过磁盘交换来得到改善。 u c l i n u x 的这种基于实存储器管理策略带来很多不便,首先从易用性上讲,u c l i n u x 的内存管理 是一种倒退,退回了到了i j n i x 早期或是d o s 系统时代。开发人员不得不参与系统的内存管理。从编 译内核开始,开发人员必须告诉系统这块开发板到底拥有多少的内存( 假如你欺骗了系统,将出现 意想不到的错误) ,从而系统将在启动的初始化阶段对内存进行分页,并且标记已使用的和未使用的 内存。系统将在运行应用时使用这些分页内存。其次从硬件要求上讲,由于应用程序加载时必须分 配连续的地址空间,而针对不同硬件平台的可一次成块( 连续地址) 分配内存大小限制是不同( 有 的处理器没有这样的限制) ,所以开发人员在开发应用程序时必须考虑内存的分配情况并关注应用程 序需要运行空间的大小。同时由于用户程序同内核以及其它用户程序在一个地址空间,程序开发时 要保证不侵犯其它程序的地址空间,以使得程序不至于破坏系统的正常工作,或导致其它程序的运 行异常。另外从内存访问角度来看,开发人员的权利增大了( 开发人员在编程时可以访问任意的地 址空间) ,但与此同时系统的安全性也大为下降。 从以上几点看出,u c l i n u x 对内存管理的减少也就给开发人员提出了更高的要求。但应该讲这 是嵌入式系统的普遍选择,因为在嵌入式设备中,由于成本等敏感因素的影响,许多场合采用不带 第二章u c i j 眦及其开发环境的建立 有m m u 的处理器。这决定了系统没有足够的硬件支持实现虚拟存储管理技术。从嵌入式设备实现的 功能来看,嵌入式设备通常在某一特定的环境下运行,只要实现特定的功能,其功能相对简单,内 存管理的要求完全可以由开发人员考虑。 2 2h i t 0 0 1 开发工具 要实现u c l i n “在某个系统中的应用,建立一个良好的开发环境是必不可少的! 就目前来讲, 获得u c l i n u x 的开发环境不外乎两种情况:一是购买商家发行的套件;二是利用网上资源自己组建。 本课题在这两个方面都有涉及。商家发行的套件是实验室购买的由m i c 酏e k 公司开发的新一代a r m 方面的开发工具h i t o o lf o r a r m ( s u p p o f t u c l i n u x ) :下面对其作一些简介,详细情况请参考相关手册。 2 2 1h i t 0 0 1 开发工具的特点 h i o d o

温馨提示

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

评论

0/150

提交评论