(计算机软件与理论专业论文)基于upnp的嵌入式自动影音呈现系统的设计与实现.pdf_第1页
(计算机软件与理论专业论文)基于upnp的嵌入式自动影音呈现系统的设计与实现.pdf_第2页
(计算机软件与理论专业论文)基于upnp的嵌入式自动影音呈现系统的设计与实现.pdf_第3页
(计算机软件与理论专业论文)基于upnp的嵌入式自动影音呈现系统的设计与实现.pdf_第4页
(计算机软件与理论专业论文)基于upnp的嵌入式自动影音呈现系统的设计与实现.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(计算机软件与理论专业论文)基于upnp的嵌入式自动影音呈现系统的设计与实现.pdf.pdf 免费下载

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

文档简介

沈阳理工大学硕士学位论文 摘要 家庭网络的增长是一个全球现象,到2 0 0 7 年,估计将会增加到7 1 3 0 万。这 种增长就给各种网络设备制造商提供了巨大的商机。在这样的背景下,m i c r o s o f t 提出了u p l l p 的概念。 u p n p 使网络上的设备在不需用户介入的情况下能够自动发现和控制设备。作 为服务器的设备能够向客户端宣示他们的服务。客户端系统,知道的如控制点, 能够在网络上搜索出具体的服务。当控制点发现某个设备上拥有它所需要的服务 时,控制点就会检索这个设备和服务的细节描述,并且在那一点上进行交互作用。 u p n pa v 架构对家庭网络环境中的数字媒体内容提供了具体的支持,a v 架构允 许设备支持各种媒体内容格式和多种传输协议。 本文描述了在l i n u x 操作系统上,基于u p n p 的嵌入式自动影音呈现系统的设 计与实现。在e p i am 匠6 0 0 0 目标板上,使用v i as a m u e l 2 6 0 0 m h zc p u 实现c o n t r o l p o i n t 的功能;在瑞萨目标板上,使用h i t a c h i ss h 7 7 5 1c p u 实现m e d i ar e n d e r e r 的功能;在k m c 目标板上,使用h i t a c h i s8 h 7 7 5 1c p u 实现m e d i as e r v e r 的功能。 通过c o n t r o lp 0 i n t 进行必要的配置与触发后,可以将m e d i as e r v e r 上的媒体内容通 过网络直接在m e d i ar e n d e r e r 上呈现出来。 本论文的工作为设计并开发基于u p n p 的消费电子设备作了前瞻性的研究与 实践。作者使用了多种目标板和多种架构的c p u 来设计和实现系统,为后续的开 发者提供了更多的切入点。 关键词:嵌入式系统;u p n p ;u p n pa v ;c o n t r o lp o i n t ;m e d i as e r v e r ;m e d i ar e n d e r e r 沈阳理工大学硕士学位论文 a b s t r a c t i n c r e a s e da d o p t i o f h o m en e t w o r k si sa l s oa g l o b a lp h e n o m e n o n b y2 0 0 7 t h i si s p r o j e c t e dt oi n c r e a s et o7 1 3m i l l i o n t h i sg r o w t hc r e a t e sat r l - l n e n d o u sm a r k e t o p p o r t u n i t yf o rv e n d o r so f m u l t i m e d i an e t w o r k - e n a b l e dd e v i c e s i nt h i sc a s e , t h e u p n p ” i sp r o v i d e db ym i c r o s o f t u p n pa l l o w sa u t o m a t i cd i s c o v e r ya n dc o n t r o lo fs e r v i c e sa v a i l a b l eo nt h en e t w o r k f r o mo t h e rd e v i c e sw i t h o u tu s e ri n t e r v e n t i o n d e v i c e st h a ta c ta ss c t v c r sc a na d v e r t i s e t h e i rs e r v i c e st oc l i e n t s c l i e n ts y s t e m s ,k n o w na sc o n t r o lp o i n t s ,c a ns e a r c hf o rs p e c i f i c s e r v i c e so nt h en e t w o r k w h e nt h e yf i n dt h ed e v i c e sw i t ht h ed e s i r e ds e r v i c e s ,t h e c o n t r o lp o i n t sc a nf e t r i e v ed e t a i l e dd e s c r i p t i o n so ft h ed e v i c e sa n d l v i c e sa n di n t e r a c t f t o mt h a t p o i n t o i lu p n pa va r c h i t e c t u r e p r o v i d e sm e d i a - s p e c i f i cs u p p o r tf o r d i s t r i b u t i o na n dc o 枷p t i o no fd i g i t a lc o n t e n to v e rah o m en e t w o r k 1 1 伦a v a r c h i t e c t u r ea l l o w sd e v i c e st os u p p o r td i f f e r e n tc o n t e n tf o r m a t sa n dm u l t i p l et r a n s f e r p r o t o c o l s i nt h i sp a p e r , t h ea u t h o rd e s c r i b e st h ed e s i g na n dr e a l i z a t i o no f e m b e d d e da u t o m a t i c a vu p n p - b a s e dr e n d e r i n gs y s t e m , t h e yu l i n u xo si nt h es y s t e m o ne p i am e - 6 0 0 0 t a r g e tb o a r d ,u s e dv i as a m u e l 2 6 0 0 m h zc p u , t h e yi m p l e m e n t e dc o n t r o lp o i n t s f u n c t i o n o nr e n e s a st a r g e tb o a r & u s e dh i t a c h i ss h 7 7 5 1c p u , m e y i m p l e m e n t e dm e d i a r e n d e r e r sf u n c t i o n o nk m ct a r g e t b o a r d , u s e dh i t a c h i ss h 7 7 51c p u , t h e y i m p l e m e n t e dm e d i as e r v e r sf u n c t i o n t h ec o n t r o lp o i n tc o n f i g u r e st h ed e v i c e sa s n e e d e d ,t r i g g e r st h ef l o wo f c o n t e n t , t h e ng e t so u to f t h ew a y t h u s ,a f t e rt h et r a n s f e rh a s b e g u n , t h ec o n t r o lp o i n tc a nb ed i s c o n n e c t e dw i t h o u td i s r u p t i n gt h ef l o wo f c o n t e n t i nt h i sp a p e r , w er e s e a r c ha n dp r a c t i c eal o tb e f o r ed e s i g n i n ga n dp r o d u e t i n gc e p r e d u e t sb a s e d0 1 1u p n p w eu s e af e wk i n d st a r g e tb e a r d sa n dc p u s o m ep e o p l ew i l l g e t a g o o ds t a r ti f t h e yw a n t t oe x p l o i t a t i o nl a t e r k e yw o r d s :e m b e d d e ds y s t e m :u p r l p :u p n pa v :c o n t r o lp o i n t ;m e d i as e r v e r ; m e d i ar e l l d e r e r 沈阳理工大学 硕士学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导下,由作者本 人独立完成的。有关观点、方法、数据和文献的引用已在文中指出, 并与参考文献相对应。除文中己注明引用的内容外,本论文不包含任 何其他个人或集体已经公开发表的作品成果。对本文的研究做出重要 贡献的个人和集体,均己在文中以明确方式标明。本人完全意识到本 声明的法律结果由本人承担。 作者( 签字) :麦u 黾 日期 :胁7 年,月亏日 学位论文版权使用授权书 本学位论文作者完全了解沈阳理工大学有关保留、使用学位论文 的规定,即:沈阳理工大学有权保留并向国家有关部门或机构送交学 位论文的复印件和磁盘,允许论文被查阅和借阅。本人授权沈阳理工 大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可 以采用影印、缩印或其它复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:虱奇 日期:知哆,。留 指导教师签名:鞠形u 日期:舢2 够 第1 章绪 论 第1 章绪论 1 1 概述 数字电子技术的飞速发展不断催生着众多的数字电子产品逐步进入普通生活 中,与此同时,宽带通信与互联网的普及极大地促进了数字媒体技术的发展。而 今,除了家电产品数字化的革新之外,构建一个宽带接入、内部互联、内容共享 的家庭网络需求也日趋突显。u p n p ( u n i v e r s a lp l u ga n dp l a y ) 是面对数字家庭而 制定出来的一套设备端协议,主要是为了让各式各样的智能家电设备便于管理、 设置及操作使用。理想的数字家庭中,使用者通过u p n p 的运作流程,只需将设备 插上网络线,开启电源,所有的设置便已完成,而不再需要其它控制操作。u p n p a v 架构是针对影音设备和服务提出来的。在a v 架构中定义了u p n pa vc o n t r o lp o i n t 和u p n pa v 设备之间的互操作。u p n pa v 架构包含两种装置,分别是m e d i as e r v e r 与m e d i ar e n d e r e r ,通过u p n pc o n t r o lp o i n t 的协调,完成数据的呈现。 基于相同的协议,可以有不同的设计与实现。针对上述协议,可以采用不同的 硬件及软件架构来实现其功能。本课题以u p n p 协议为基础,针对u p n pa v 架构, 设计并实现了嵌入式的自动影音呈现系统。 1 。1 。l 系统简介 为了实现u p n pa v 的功能,本系统分别在三种目标板上嵌入了下述三个设备 的功能。在e p i am e 6 0 0 0 目标板上,使用v i as a m u e l 2 6 0 0 m h zc p u 实现c o n t r o l p o i n t 的功能;在瑞萨目标板上,使用h i t a c h i ss h 7 7 5 lc p u 实现m e d i ar e n d e r e r 的功能;在京都微电机公司生产的目标板上,使用h i t a c h i ss h 7 7 5 1c p u 实现m e d i a s e r v e r 的功能。在c o n t r o lp o i m 的控制下,可以将m e d i as e r v e r 上的媒体内容通过 网络在m e d i ar e n d e r e r 上呈现出来。在这三种目标板上所选择的操作系统都是 l i n u x ,当然,需要对l i n u x 进行量身定制与移植。 1 1 2 系统整体架构 整个系统的基本架构是以l i n u x 操作系统为核心,以u p n pa v 架构为蓝本, 在三种目标板上,使用两种处理器来实现影音的自动呈现。所谓u p n pa v 架构就 一l 一 沈阳理工大学硕士学位论文 是以u p n p 架构为基础,针对影音的传输而制定的一套标准。u p n pa v 架构的目 的就是要能够支持任何传输通信协议,如h t t pg e t ,r t p ,t c p i p ,i e e e - 1 3 9 4 ,h t t p p u t p o s t 等等;还要能够支持任何内容格式,如m p e g 2 ,m p e g 4 ,m p 3 ,w m a 等 等。除此而外,u p n pa v 架构的目标是要让影音内容直接在两个设备之间进行传 送,而不需要控制点。还要能够兼顾扩充性,也就是能够支持资源稀少的设备, 如存储器比较小或是处理器的计算能力不强的设备。一般来说,在u p n p 架构下, 所有的互动都是发生在设备和控制点之间。也就是说,不会有设备和设备之间的 直接互动,所有设备之间的合作,都是由控制点来协调完成的。 然而,在u p n pa v 架构下,影音内容的传输是由一台s o u r c ed e v i c e 直接传输 到另一台s i n kd e v i c e 的。在影音内容进行传输之前,c o n t r o lp o i n t 要对这两个设备 进行初始化以及一些参数的设定。当c o n t r o lp o i n t 对两个设备完成初始化和设定之 后,这两个设备之间影音内容的传输就可以使用任何的传输协议( 如h t t p g e t ,i u _ p 等等) ,直接由s o u r c ed e v i c e 传送到s i n kd e v i c e ,在此期间不需要c o n t r o l p o i n t 的介入“。 c o n t r o lp o i n t u p n p 动作u p n p 动作 图1 1u p n p a v 互动模型 在本系统中,c o n t r o l p o i n t 执行标准的u p n p 动作,分别对m e d i a s e r v e r 和m e d i a r e n d e r e r 两个设备进行配置和设定。配置和设定一旦结束,c o n t r o lp o i n t 就退出来。 然后,影音内容在不需要c o n t r o lp o i n t 介入的情况下,即通过o u t - o f - b a n d ,由m e d i a s e r v e r 直接传输到m e d i ar e n d e r e r ,这样就可以使任何格式的媒体内容在源设备与 目的设备间进行传播。示意图如图1 1 所示。 2 第1 章绪论 1 2 相关技术研究现状 m i c r o s o f t 于2 0 世纪末期发表了u p n p 协议的概念,用以拓展信息产品在家庭 内的市场。后来,由世界上一百多家公司联合成立了u p n pf o r u m ,制定了u p n p 设备规范,以及一些相关的协议和标准。所以,u p n p 的概念才刚刚诞生五、六年 的时间,可以说还是一个较为新鲜的事物。 1 2 1 国内研究现状 目前,国内介绍u p n p 机制的文章较多,但大多是对u p n p f o r u m 的翻译文章 和较为科普性的介绍。在第一届建立和谐人机环境联合学术会议( h i - ie2 0 0 5 ) 上,2 0 0 5 年1 0 月2 5 日大会张贴报告1 2 5 “u p n pa v 互联设备通用控制点的实 现方案,s u nh a i m i n g ”,该报告未提及是在w i n d o w s 环境下实现的,还是在l i n u x 环境下实现的。但是可以说明,目前国内有人在做这方面的工作。 1 2 2 国外研究现状 u p n p f o r u m 成立后,相继发表了一系列的标准。2 0 0 2 年6 月1 2 日发表了u p n p a va r c h i t e c t u r e :0 8 3 。随后,2 0 0 2 年6 月2 5 日又发表了6 篇关于u p n p 方面的标 准,从此为u p n p 方面的开发奠定了基础。2 0 0 3 年2 月1 9 日,英特尔开发者论坛 提出了加速u p n p 开发的工具。更为关键的是,英特尔提出了i n t e ls d kf o ru p n p d e v i c e s ,从而给开发者提供了l i n u x 环境下的较好的软件接口。但是,目前来看, 针对u p n p 的研究在w i n d o w s 环境下较多,而且是针对p c 机的研究较多。针对 l i n u x ,特别是嵌入式系统方面还很少,可以说,国外在这方面的研究亦刚刚起步。 1 3 主要工作与章节安排 本论文论述了基于u p n p 的嵌入式自动影音呈现系统的设计与实现,讨论了其 中的一些关键技术,提出了具体的解决方案。论文分为六章,内容如下: 第l 章:绪论。引入了u p n p 和u p n pa v 的概念,对系统的整体架构模型进 行了简单的描述,并讲述了国内和国外的相关技术及其研究现状。 第2 章:嵌入式系统。介绍了嵌入式系统的概念,对嵌入式操作系统以及一些 常见的嵌入式操作系统进行了描述。分析了将l i n u x 作为嵌入式操作系统的理由以 及在嵌入式系统当中对l i n u x 的裁剪原则。 第3 章:u p n p 和u p n pa v 。描述了u p n p 的设备架构以及u p n p 设备的操作 一3 一 沈阳理工大学硕士学位论文 步骤,介绍了其协议栈,还有实现u p n p 设备非常关键的u p n i s d k 。给出了u p n p a v 架构及其互操作的机制。 第4 章:系统硬件。从硬件的角度对系统的整体架构进行描述。简要介绍了 两种c p u 架构c i s c 和r i s c ,以及我们在项目中所采用的这两种架构的芯片x 8 6 处理器和s u p e r h 架构的s h 4 处理器。 第5 章:系统层软件。给出了目标板上系统层软件架构。描述了构建嵌入式 系统所必须的交叉开发环境。从软件角度描述系统的整体架构以及系统中u p n p 设备的互操作。讲解了内核的选择与移植,根文件系统和文件系统的选择与建立。 对项目中所使用的中间件进行了介绍。 第6 章:自动影音呈现系统的实现。从应用层软件的角度,描述了自动影音 呈现系统的软件实现。对整个系统u p n p 设备间的互操作,从应用软件角度进行了 描述。详细介绍了三块目标板上的应用层软件实现,即m e d i a s e r v e r ,m e d i a r e n d e r e r 和c o n t r o lp o i n t 的具体实现过程。 结论:指出了本研究课题的创造性成果,对其应用前景和社会、经济价值等进 行了预测和评价。提出了今后进一步进行研究工作的展望与设想。 4 第2 章嵌入式系统 第2 章嵌入式系统 2 1 嵌入式系统概述 所谓嵌入式系统是嵌入式计算机系统的简称。通常,计算机连同一些常规的外 设是作为独立的系统而存在的,不是为某一方面的专门应用而存在,人们称这样 的计算机系统为“通用”的计算机系统。当把计算机“嵌入”到更大的、专用的 系统中时,我们就称之为“嵌入式计算机”、“嵌入式计算机系统”或“嵌入式 系统”,都是指系统中的核心部分,即嵌入在系统中的计算机。 不过,虽然计算机在整个大系统中只是一个部件,却通常起着相当于“大脑” 的作用。所以事实上所嵌入的计算机就是整个系统的核心,而系统中的其他部件 则是其外部设备。只不过这些外部设备不同于常规的计算机外部设备,所嵌入的 计算机的作用和目的只限于对这些外部设备的控制和管理而已。所以,也可以说, 常规的计算机系统是面向计算和处理的,而嵌入式计算机则一般是面向控制的。 所谓将计算机“嵌入”到系统中,一般并不是指直接把一台通用计算机原封 不动地安装到目标系统中,也不只是简单地把原有的机壳拆掉并安装到目标系统 的机壳中,而是指为目标系统构筑起合适的计算机系统,再把它有机地植入,甚 至融入目标系统。 嵌入式系统既然是计算机系统,就不可避免地由中央处理器c p u 、内存以及 输入输出单元等三大部分构成。此外,当然还得有将这三大部分连接起来的“总 线”。这是所有计算机系统的共性,但使用目的的特殊性常常会导致性质和结构 上的特殊性,嵌入式系统通常有下述一些特点,不过这些特点中的任何一点都不 是必须的,所以并不成为嵌入式系统的判定条件。 可靠性与稳定性对嵌入式系统有着特别重要的意义。所以即使逻辑上的系统结 构相同,在物理组成上也会有所不同。同时,对使用的元器件包括插件、电源等 等的质量和可靠性要求都比较高,所以元器件的“平均无故障时间m r b f ( m e a n t i m eb e t w e e mf a i l u r e ) ”成为关键的参数。此外允许的环境温度也是个需要重要考 虑的问题。所以,即使同样是采用p c 机的系统结构,在嵌入式系统中一般都采用 5 沈阳理工大学硕士学位论文 p c “工控机”,而不是一般的p c 机母板,因为二者在选用元器件、制造工艺、 质量控制等方面都有不同的要求。军用设备的要求就更高了。 嵌入式系统要求功耗要小。这一方面是为了省电,因为嵌入式系统往往以电 池供电;另一方面是减少发热量,因为嵌入式系统常常没有风扇等排热手段。 嵌入式系统对物理尺寸也常常有特殊的要求。 嵌入式系统常常是在无人照看的条件下运行的,有的甚至是在人迹罕至的地 方运行。这就产生了一个问题,那就是万一系统中的程序运行陷入了混乱,例如 死循环或者死锁,使整个系统“死”了怎么办? 显然要求嵌入式系统要有能够检 测到这种情况并采取对策的手段。为此,嵌入式系统中通常都采用一种称为“看 门狗( w a t c h d o g ) ”的机制,这是一般通用计算机中所没有的。 还有些嵌入式系统需要长期连续运行( 如电话交换机) 。在这些系统长期的 运行中,如果某个部件损坏,是不允许将系统关闭断电然后加以替换的,而必须 在系统仍旧加电、继续在运行的条件下加以替换。这就是所谓的“热替换( h o t s w a p p i n g ) ”或“热插拔”。 有些要求高可靠的嵌入式系统还需要采用“容错( f a u l tt o l e r a n c e ) ”技术, 就是系统在部件损坏时能自动切换到它的备份,或者对系统进行重构。最常见也 是最简单的容错技术是电源的自动切换。 嵌入式系统的主要目的是控制。而控制对象的精度要求一般不会超出整型数 所能提供的分辨率,所以浮点运算一般没有必要,许多嵌入式系统都不带浮点运 算部件。 由于嵌入式系统提供的功能以及面对的应用和过程都是预知的、相对固定的, 而不象通用计算机那样有很大的随意性。既然是专用的系统在可编程方面就不需 要那么灵活了。另外,一般也不会用嵌入式系统作为开发应用软件的环境,在嵌 入式系统上通常也不会运行一些大型的软件,如编译器或复杂的数据库等。所以, 嵌入式系统对c p u 计算能力的要求并不象通用计算机那么高。 考虑到功耗、体积、价格等因素,嵌入式系统的内存通常比较小。 许多嵌入式系统都有实时要求,需要有对外部事件迅速作出反应的能力。以前, “嵌入式系统”几乎是“实时系统”的代名词,现在有了许多不带实时要求的嵌 入式系统。 - 6 第2 章嵌入式系统 在系统的组成上,因为嵌入式系统常常用于控制的目的,其外设接口自然就比 较多样,并且数量也往往比较多。 嵌入式系统一般都不带磁盘,操作系统的映像和可执行程序一般都存放在只 读存储器( r o m ) 或“闪存”( f l a s h m e m o r y ) 中。 嵌入式系统的人机界面也有其特殊性。许多嵌入式系统都不提供图形人机界 面,而只提供一个面向字符的控制台接口。不过往往还带有如小型的l c d 显示屏、 发光二极管( u i d ) 等辅助的显示设备,甚至报警装置。 嵌入式系统中的c p u 应当尽量适应上述的众多特点,所以通常采用一些不同 于“微处理器”的“微控制器”,而且往往是r i s c 结构的。这些微控制器通常比 较小,比较省电,价格也比较低。另外,为了减小体积与价格,增加集成密度( a k 而提高可靠性) ,这些微控制器往往与一些外设接1 :3 集成在同一块芯片上,甚至 成为单片机或“片上系统( s y s t e mo nc h i p ) ”,即s o c 。 嵌入式系统可能具有的这种种不同,势必要在其软件、特别是要在操作系统 中有所反映,从而使嵌入式软件的开发与常规软件的开发有显著的区别。特别地, 典型的嵌入式操作系统与常规的操作系统有着显著的区别,并因而成为操作系统 的一个重要分支和一个独特的研究方向不过,要知道并不是所有的嵌入式系统 都需要具有真正意义上的操作系统,有的嵌入式系统所采用的其实只是个简单的 监控程序,比如i c 卡( 也叫智能卡) 上的片上操作系统( c h i po p e r a t i n gs y s t e m ) c o s ,实际上就只是个监控程序。当然,对于什么样的软件可以称为操作系统并 没有明确的大家都能接受的判定标准。如果系统中没有引入进程的概念,又很简 单,就不认为是个操作系统。当初甚至有人质疑说d o s 不能算操作系统,就是因 为d o s 中没有进程的概念( 不过它并不简单) 2 2 嵌入式操作系统 2 2 1 嵌入式操作系统概述 用于嵌入式计算机的操作系统称为嵌入式操作系统。嵌入式操作系统一方面指 通常具有某些特性的操作系统,另一方面它实际上代表着一个集合、一个谱系。 这个谱系的最低端是简单的“监控程序( m o n i t o r ) ”,已经算不上“操作系统” 了,最高端则是常规的操作系统。所谓的“嵌入式操作系统”是个集合,而且是 个无限集合。任意取一个已有的嵌入式操作系统,对其某一个或某几个方面略加 7 沈阳理工大学硕士学位论文 修改,就可以形成另一个嵌入式操作系统。 嵌入式操作系统一般有些什么特点昵? 换言之,嵌入式操作系统与常规操作系 统有些什么不同? 我们可以总结概括如下: 对嵌入式操作系统常常有实时要求,所以嵌入式操作系统往往又是“实时操作 系统”早期的嵌入式系统几乎都用于控制的目的,从而或多或少都有些实时的 要求,所以从前“嵌入式操作系统”实际上是“实时操作系统”的代名词。近年 来,由于手持式计算机和掌上计算机这些设备的出现。就有了许多不带实时要求 的嵌入式系统。另一方面,由于c p u 速度的提高,一些原先认为是“实时”的反 应速度现在已经不算一回事了。同时,常规的操作系统也考虑到了一些对“实时 进程”的支持,例如l i n u x 就实现了p o s i x 4 所要求的对实时进程在调度上的支 持,以及对实时信号机制的支持。这样,一些原先需要在“实时”操作系统上才 能实现的应用现在往往不难在常规的操作系统上实现了。在这样的背景下,“嵌 入式操作系统”和“实时操作系统”就成了不同的概念和名词。 许多嵌入式操作系统的内核是“微内核”结构的。而不是像l i n u x 那样的“一 体化内核”。 许多嵌入式系统都不带磁盘,所以有些嵌入式操作系统根本就不支持文件系 统,或者只是在结构上,即为设备驱动而支持文件系统,却不支持文件系统本原 的目的,即文件存储。另外,即使有些嵌入式系统需要使用磁盘。并且因此而支 持文件系统,那也往往是仅用于数据;而操作系统的映像和可执行程序一般都存 放在只读存储器或闪存中,系统引导时也是从r o m 或闪存而不是从磁盘中引导。 从前,r o m 的容量是比较小的( 那时还没有闪存) ,所以这就意味着操作系统的 映像必须足够小。因此人们常把操作系统的“脚印”是否够小,是否能被存放在 r o m 中并从那里引导和运行,作为其是否能用于嵌入式系统的一条准则。可是, 现在的情况不同了,无论是r o m 还是闪存芯片的容量都已经相当大了,因而操作 系统的脚印大小已经不那么重要了。 虽然不带磁盘,还是有些嵌入式系统支持文件系统,但是目的和方式不一。有 的只是通过文件系统来处理设备驱动,而并不支持本来意义上的( 数据) 文件。 而那些支持一般意义上文件系统的嵌入式系统,则通常都采用r a m d i s k 技术,即 以部分内存空间来模拟磁盘的技术。 8 第2 苹嵌入式系统 为了简化结构、降低成本和改进效率,许多嵌入式操作系统不采用存储管理技 术,即不采用虚拟存储的技术。进一步,许多嵌入式系统还不划分“系统空间” 和“用户空间”。换言之,c p u 一直在同一种运行状态,一般是“系统态”下运 行。如此,将会有如下事件发生: 操作系统的内核与外围应用程序之间不再有物理的边界。 系统中的所有“进程”实际上全都是内核线程。每个内核线程都与内核共 享同一内存空间,可以直接访问内核的所有资源,包括直接调用内核中的子程序, 而各个内核线程的可执行程序则往往与内核静态地连接在一起。这样,应用程序 中的“系统调用”实际上就变成了对内核的直接的子程序调用,从而避免了系统 调用时的空间切换,有利于提高效率。而且由于不需要切换空间,进程调度切换 的效率也可以提高。但是,这同时也带来了问题,因为越界访问就得不到保护了, 一个应用程序在运行中发生的问题就有可能导致整个系统的崩溃,这就给系统的 安全性和可靠性带来隐患,也使应用程序的开发和调试变得更为困难。 另外,将应用程序和内核静态的连接在一起也为应用软件的开发和调试带 来不便,因为每对一个应用程序做一点修改,就得重新生成整个系统的映像,并 将该映像再“下载”一次。 应用程序有了直接访问所有内核资源的可能,对内核资源的调用和访问可 以变成直接的函数调用和变量引用。所以,有些嵌入式操作系统的“系统调用” 界面变得非常庞大。这既有好处也有坏处好处是为应用程序的开发提供了许多 类似于库程序的资源,而这些库程序又是通过重复利用内核资源来实现的,使用 得当可以有利于简化应用程序的开发并且减小整个软件映像的体积。坏处是使系 统调用的界面复杂化了。实际上,这既把系统调用与库程序混为一体,也使应用 软件的开发和内核的开发与维护混为一体。 进一步,系统中的所有进程都可以访问系统中的全局变量,因此所有的全 局变量都是可以用于进程间通信的共享变量,而不像在每个进程都有自己的空间 时那样,仅仅是本进程内部的全局变量。 从一个应用( 进程) 的代码中不仅可以直接调用内核中的函数,还可以调 用为其他应用( 进程) 而开发的函数。这样,如果在这些函数中可以发生调度, 那就有多个进程并发进入这个函数的可能,这就要求被调用的函数是“可重入” - 9 - 沈阳理工大学硕士学位论文 的,就是不访问全局量的。可是在当初在设计这个函数时可能并没有考虑到这一 点,由此带来了问题。所以,把通用操作系统上运行的软件移植到这样的系统上 时要小心锄。 总之,在不分系统空间和用户空间的操作系统上,全局量的作用域是整个系统。 如果需要作用域仅为本进程的全局量,则需要特殊的机制和处理。 只要c p u 芯片中包含着“存储管理单元”,就仍可以通过页面映射提供一定 的保护,但只是用于不同进程之间、代码段与数据段之间,而不是“用户空间” 与“内核”之间。不过,即使采用了存储管理( 通常是页式虚存) ,嵌入式系统 都不采用页面交换技术,究其原因有二:一方面是嵌入式系统一般都不带磁盘, 因而需要换出的页面无处可去。另一方面嵌入式系统往往都有实时要求,而页面 的换入换出恰恰是对实时性最大的破坏。 系统的引导启动所需的时间也是个问题。一般几分钟,甚至十几分钟的引导 启动时问对于通用计算机系统,特别是大型系统是不足为奇的;但是对嵌入式系 统就不能接受了。嵌入式系统的引导启动过程要求在几秒、十几秒或最多几十秒 的时间内完成。至于重启动则要求速度更快。系统在加电引导启动过程中,时间 主要花在三个方面: 对系统硬件的加电自检,特别是对内存的自检。 系统映像的引导装入。 系统的初始化。 重启动则一般不做自检,甚至也无需装入系统映像。 比之于通用操作系统,由于嵌入式系统中采用微处理器,微控制器的多样性, 嵌入式操作系统的可移植性显得更加重要。所以有些嵌入式操作系统的内核明确 分为两层,其上一层一般就称为“内核”;而底层则称为“硬件抽象层”或“硬 件适配层”,都是缩写成h a l 。h a l 的存在往往是独立于内核,由c p u 的厂商 提供的,与b i o s 倒是很相似。 嵌入式系统中更重要、更复杂的是面向控制对象和控制过程的处理,这是具体 嵌入式系统存在的目的。所以,应用软件才是嵌入式软件的主体,而嵌入式操作 系统只是为这些应用软件得以有效运行提供条件和手段而己。 2 2 2 商品嵌入式操作系统简介 1 0 第2 章嵌入式系统 目前在市场上有一些流行的商品嵌入式操作系统。一般来说,这样的操作系统 都采用计费许可证,即“提成”的方法向用户收取费用。购买者先付一笔费用购 买嵌入式操作系统本身及其开发环境,在此基础上开发出自己的产品,然后每出 售一套采用该操作系统的产品便从中抽取一定的费用。目前比较流行的有美国 w i n d r i v e r 公司的产品v x w o r k s ,加拿大q n xs o f t w a r es y s t e m s 公司的产品q n x , 美国i n t e g r a t e ds y s t e m s 公司的产品p s o s 和m i c r o s o f t 的产品w i n d o w sc e 等等。 v x w o r k s 是典型的嵌入式操作系统,所有进程的代码与内核的代码静态地 连接在一起,并且在同一个空间中运行。所以,在v x w o r k s 中所谓系统调用其实 就是直接的函数调用,相当于对库函数的调用。 q n x 是一个典型的类似于m a c h 的微内核操作系统,除内核以外还包括 若干基本的“系统进程” p s o s 是比较靠近一体化内核的微内核,与u n i x l i n u x 相比,内核中的文 件系统的高层被移到了外面,并且是作为操作系统的一个选项来分别出售。 w i n d o w sc e 也是微内核结构的操作系统,其采用了页式存储管理,并且采 用页面换入技术。 当然,作为商品,这些嵌入式操作系统一般都比较可靠。但实际上,现在一些 公开源码并且免费的操作系统也很可靠。 2 2 3 公开源码的嵌入式操作系统简介 现在,公开源码软件的阵营已经很强大了。有些公开源码软件既有强力的后盾, 又有网上广泛的参与,这就非常有利于这些软件的质量和可靠性。目前较典型的 公开源码的嵌入式操作系统有u c o s ,m a c h ,r t l i n u x ,k u r t ,a r m l i n u x ,p r e e m p t l i n u x 和t i m e s y s l i n u x 。 在称得上是操作系统内核的软件中,微内核u c o s 可以说是最小的了。我 觉得从学习和研究的角度看,这是一个很好的教材。 m a c h 是c a r n e g i em e l l o nu n i v e r s i t y 在8 0 年代后期研制的微内核操作系统, 在当时很有代表性。m a c h 将文件系统移到了内核之外,设备驱动仍留在内核中。 r t l i n u x 是n e wm e x i c ot e c h 大学的v i c t o ry o d a i k e n 指导的一个小组研制 的,是一个特殊的l i n u x 变种。r t l i n u x 采用了一种独特的方法,他们开发了一个 很小的微内核,然后把整个l i n u x 操作系统作为在这个微内核上运行的一个进程, 沈阳理工大学硕士学位论文 原来就在l i n u x 上运行的进程,则变成了这个大进程内部的二级进程。 k u r t 也是l i n u x 的一个变种,是k a n s a su n i v e r s i t y 的一个小组在d o u g l a s n i e h a u s 指导下研制的。k u r t 是第一个面向硬实时应用的l i n u x 变种。k u r t 将 系统时钟的精度从原来的1 0 m s 提高到了l l s 级。 a r m - l i n u x 是移植到a r m 核上的l i n u x 。作为微控制器或s o c ,各种基于 a r m 核的芯片广泛地应用于各种嵌入式系统,而移植到a r m 核上的l i n u x 也就 成了“嵌入式l i n u x ”。 p r e e m p tl i n u x 是由r o b e r tm l o v e 开发并维护的r m l 补丁,是专门针对可 剥夺调度的。 t i m e s y sl i n u x 是美国的t i m e s y s 公司在2 0 0 2 年推出的l i n u x 内核。这个 内核不但解决了可剥夺调度的问题,还解决了优先级倒转的问题。可以说是迄今 为止最为完备的实时l i n u x 内核。 2 3 嵌入式l i n u x 2 3 1 选用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 内核及l i n u x 系统上大部分项目的程序代码库都符合以 上对质量和可靠度所作的描述。 程序代码的可用性。l i n u x 源码及所有生成的工具都可以毫无限制地随意取用。 对硬件的支持。l i n u x 支持各种不同类型的硬件平台与设备。广泛的硬件支持, 意味着l i n u x 可以运行在各种不同的c p u 或平台上而其他的操作系统却无法提 供这种水准的可移植性。 通信协议与软件标准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 2 第2 章嵌入式系统 操作系统。 社群的支持。受到社群的支持或许是l i n u x 最大的优点。这就是自由软件及开 放源码的精神所在。使用l i n t l x 时,只要将一封电子邮件寄往正确的邮件论坛,通 常就可以直接联络到开发软件的那个人。 不依赖特定厂商。这就意味着要获取或使用l i n u x 不需要依赖单一的厂商。 成本。与传统嵌入式软件的成本比起来,使用l i m l x 的成本是相当低的了。这 是不言而喻的,这也是开放源码许可的结果。 2 3 2 嵌入式l i n u x 的量身定制 由于目标系统的多样性,对嵌入式操作系统的要求也纷纭多变,所以往往难于 找到与要求正好吻合、“量身定制”的嵌入式操作系统,而常常需要对现成的操 作系统加以配置,裁剪和修改。 所谓“配置”有两种,一种是编译连接时的配置,另一种是运行时的配置。 编译连接时的配置一般都是通过条件编译实现的。如,在l i n u x 内核的源码中, 是否在目标映像中包含对p c i 总线的支持,是由宏定义c o n f i g _ p c i 决定的。如 果系统的硬件结构中没有p c i 总线,就可以在配置时使这个常数无定义,这样在 编译连接以后的目标映像中就不再有这个成分,系统在内存中的“脚印”当然也 就缩小了所以,编译连接时配置是最有效的裁剪手段,但是这样的配置当然只 有在拥有源码,至少是部分源码时才可行。不过,即使不拥有源码,如果要裁剪 掉的是整个的模块,有时候也可以仅通过条件连接达到目的。第二种是运行时的 配置,通常是在系统初始化时根据一些配置文件,或者由用户设置的一些常量和 参数完成的。这样的配置其实并不改变系统映像的大小,所以并不是物理上的裁 剪,而只是为系统中的一些条件语句提供了跳转的依据,从而使运行时的效率略 有提高。但是,这种配置不需要系统的源码,实行起来又比较简单,所以商品软 件往往倾向于采用运行时配置。还有一种特殊的运行时配置手段,就是从一个比 较小的内核开始,在运行中根据需要装入内核内部的可安装模块或内核外部的动 态连接程序库。这是既不需要源码,又可以动态地改变系统在内存中的占地面积、 比较灵活的增添手段( 所以在w i n d o w s 操作系统上有那么多的d l l 模块) 。当然, 这也不是万能的。 如果靠配置不能解决问题,仍然达不到量身定制的目的,那就得考虑修改了。 1 3 沈阳理工大学硕士学位论文 一般而言,当找不到恰好符合要求的嵌入式操作系统时,可以有两个办法。一是 找一个与要求接近,但是更低或更小的系统,在此基础上加以增强。另一个办法 就是找一个更高或更大的系统加以裁剪。当然,由于要求的多样性,实际上往往 二者都需要,就是既要裁剪掉某些部分,又要增添上某些部分。还有些场合需要 的既不是裁剪,也不是增添

温馨提示

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

评论

0/150

提交评论