(电路与系统专业论文)基于em8622l的网络p2p机顶盒的设计.pdf_第1页
(电路与系统专业论文)基于em8622l的网络p2p机顶盒的设计.pdf_第2页
(电路与系统专业论文)基于em8622l的网络p2p机顶盒的设计.pdf_第3页
(电路与系统专业论文)基于em8622l的网络p2p机顶盒的设计.pdf_第4页
(电路与系统专业论文)基于em8622l的网络p2p机顶盒的设计.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(电路与系统专业论文)基于em8622l的网络p2p机顶盒的设计.pdf.pdf 免费下载

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

文档简介

中文摘要 摘要:当前口产业在国内外快速发展。由于彤系统采用了服务器一客户端 的c s 网络模式,处于不对等位置的普通用户之间不能够自由平等地进行资源交 互,用户的自由受到了一定限制。p 2 p 点对点对等网络技术的应用可以弥补r r v 的功能这个缺憾。但是目前基于p 2 p 对等网络技术的解决方案均是针对个人计算 机的,其在嵌入式机项盒设备中的实现方案尚未出现。因此如何在嵌入式机顶盒 设备中实现p 2 p 技术的应用成为一个值得研究的课题。 本文正是基于这样的目的,对p 2 p 技术在嵌入式机顶盒设备中的应用实现进 行了研究。论文的主要内容包括以下几部分: 1 首先对p 2 p 对等网络技术及其应用进行了深入分析,并对嵌入式l i n u x 系 统特点进行了详细的论述。然后针对本设计的功能要求,提出了一种基于e m 8 6 2 2 l 硬件平台的嵌入式l i n u x 机顶盒设计方案。 2 继而基于e m 8 6 2 2 l 硬件平台,分析了系统设计的交叉编译链、底层设备 驱动程序等底层资源,研究了系统应用程序设计架构和图形用户界面的移植,并 论述了该平台下嵌入式l i n u x 应用程序开发方法。 3 最后在对本系统应用程序的功能结构分析后,设计了系统各个功能模块, 其中包括p 2 p 下载功能的设计、用户界面控制程序的设计、基于m i n i g u l 的控件 和图形用户界面设计,从而完成该机项盒平台的整体设计。 通过对该系统的测试,验证了本文提出的设计方法是可行的,并且功能达到 了预期的设计要求。最后针对本设计的后期改进,提出了几个可行的设计思路。 关键词:p 2 p 技术;嵌入式l i n u x :e m 8 6 2 2 l ;b i t t o r r e n t ;m i a i g u i ;机项盒 分类号:t p 3 1 6 2 ;t n 9 4 9 1 9 8 a b s t r a c t :c t 盯c n t l y , 口t vi n d u s l r yi si nr a p i dd e v e l o p m e n t sa th o m ea n da b r o a d b i x , a i i s e 邛t v1 1 s cas e l t v c i - c l i e n tc sn e t w o r km o d e u s e r sw h oa 聆i nt h ew r o n g l o c a t i o n 啪tc o n d u c tf r e ea n de q u a ln 器o u “:鹤i n t e r a e t i v e l y , a n dt h e i r sf r e e d o mi s r e s l r i e t e d p 2 pp e e r - t o - p e e rn e t w o r kt e c h n o l o g yi sa b l et om a k eu pf o rt h i sd e f i c i e n c yo f 邛t vb u ta tp r e s e n ts o l u t i o n sb a s e do np e e r - t o - p e e rt e c h n o l o g ya 北a l lf o rp e r s o n a l c o m p u t e r s t h or e a l i z a t i o nf o re m b e d d is e t - t o pd e v i c e sh a sn o ty e ta p p e a r e d s ob o wt o a c h i l e v ep e e r - t o - p e e rt e e l m o l o g yi nt h es e t - t o pb o xd e v i c e sb l x , o l l l caw o r t h w h i l e r e s e a r c ht o p i c t h ef o l l o w i n gc o m p o n e n t s 黜t l a em a i ne l e m e n t so f t h i sp a p e r : 1 f i r s t l y , p e e r - t o - p e e rt e e i m o l o g ya n di t sa p p l i c a t i o nh a v ec o n d u c t e di n - , t e p t h 锄a l y s i s a n df e a t u r e so f e m b e d d e dl i n u xs y s t e m 矾d i s c u s s e di nd e t a i l t h e nas e t - t o p b o xd e s i g nb a s e do i le m 8 6 2 2 lh a l d w a 佗p l a t f o r mi sp r e s e n t e d8 9 a i n s tt h ef t m e l i o n a l r e q u i r m e n t so f t h i sd e s i g n 2 t h e nb a s e do nt h eh a r d w a r ep l a t f o r m ,t h i sp a p e ra n a l y s i st h ec r o s s - c o m p i l e d c h a i n , b o t t o md e v i c e sd r i v e r sa n ds o0 1 1t h eb o t t o m 廊o u r i 瑚s t u d yt h ea r c h i t e c t u r eo f t h ea p p l i c a t i o ns o f l w a r ea n dt h er e p l a n t m e n to tg r a p h i c a l 懈i n t e r f a c e , a n dt h e a p p l i c a t i o nd e v e l o p m e n tm e t h o d s 柚dd e b u g g i n gm e t h o d so ft l a ee m b e d d e dl i n u x s y s t e m 3 f i n a l l y , a f t e rt h ef u n c t i o n a ls t r u c t u r eo ft h ea p p l i e a t i o mi nt h i ss y s t e mi s a n a l y i m o 正s e v e r a lf u n c t i o n a ll l l o d u h 。s 峨d e s i g n e d , i n c l u d i n gp 2 pd o w n l o a d i n g m o d u l e , i l s e fi n t e r f a j e ee o n l z o lm o u d u l ca n dg r a p h i c a lu 蝌i n t 础a c ed e s i g n , t h u s c o m p l e t et h eo v e r a l ld e s i g no f t h os e t - t o pb o xp l a t f o r m t h i sd e s i g np r o p o s e di nt h i sp 印ei st e s t e da n dv e r i f i e dt ob eaw o r k a b l ed e s i g n m e t h o d r , a l l di t sf u n c t i o nm e tt h ed e s i g nr e q u i r a a l e n t sc o r r e c t l y a c c o r d i n gt ot h c i n l p r 0 v 鲫e n bo tt h i sd e s i g n , s e v e r a lp o s s i b l es o l u t i o ni d e a sa 陀p r o p o s e d i k e y w o r l d $ :p 2 pt e d m o l o g y ;, e m b e d d e dl i n t t x ;e m8 6 2 2 kb i t t o r r c n t ;m i n i ( 3 l j i ; s t b c l a s s i 、i o :t p 31 6 2 :t n 9 4 9 1 9 8 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅同意学校向国 家有关部门或机构送交论文的复印件和磁盘 ( 保密的学位论文在解密后适用本授权说明) 学位论文作糍:杏、蜀 签字日期:2 0 呵年j 2 月2 户 导师签名: 俘珞 辩醐:1 印影日 , 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研究成果,除 了文中特别加以标注和致谢之处外。论文中不包含其他人已经发表或撰写过的研究成果,也 不包含为获得北京交通大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的 同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意 学位论文作者签名:夺昌签字日期:砷年t z 月2 午日 致谢 本论文的工作是在我的导师侯建军教授的悉心指导下完成的,侯建军教授严 谨的治学态度和科学的工作方法给了我极大的帮助和影响。侯建军教授悉心指导 我们完成了实验室的科研工作,在学习上狃生活上都给予了我很大的关心_ 和帮助, 对于我的科研工作和论文都提出了许多的宝贵意见,在此向侯建军老师表示衷心 的谢意。 同时感谢陈后金老师、杜普选老师、陆勇老师、郝晓莉老师和薛健老师,感 谢他们在我研究生学习期间给予我的谆谆教诲。 在实验室学习及撰写论文期间,李凯峰、宛硕、王笃宾、贺力、曾璇、牛永 琴以及电路班的其他同学对我论文中研究工作都给予了热情帮助,在此向他们表 达我的感激之情。 另外也感谢我的家人,他们的理解和支持便我能够在学校专心完成我的学业 1 1课题研究的背景和意义 1 引言 近几年,随着网络技术的飞速发展,网络已经成为人们生活和工作中不可缺 少的一部分。网络技术的广泛应用,使德人们可以很方便的交流各种信息,为人 们的生活和工作提供了方便。随着人们对网络技术提出的各种新的需求。网络技 术也得到了长足的发展。在现代两络通信技术中,多媒体的网络通信已经不再是 一个新鲜的词语,在人们的生活中已经广泛的应用着多媒体网络技术。r 就是 多媒体网络技术一个重要的例子”。 口阿v 即交互式网络电视,是一种利用宽带有线电视网,集互联网、多媒体、 通讯等多种技术于一体,向家庭用户提供包括数字电视在内的多种交互式服务的 崭新技术。p 是利用计算机或机顶盒+ 电视完威接收视频点播节目、视频广播 及网上冲浪等功能。它能够很好地适应当今网络飞速发展的趋势,充分有效地利 用网络资源。它采用高效的视频压缩技术,使视频流传输带宽在8 0 0 k b s 时可以有 接近d v d 的收视效果,对今后开展视频类业务如因特网上视频直播、远距离真视 频点播、节目源制作等来讲,有较强的优势。口p 1 v 是利用宽带有线电视网的基础 设旌,以家用电视机作为主要终端电器,通过互联网络协议来提供包括电视节目 在内的多种数字媒体服务。用户可以得到高质量数字媒体服务。也有较为广泛的 自由度选择宽带m 网上各网站提供的视频节目。所以i t v 大部分家庭用户的需 求还是可以满足的。 但是,f r v 系统的网络是服务器到客户端的c s 模式,用户的不对称位置就 决定了用户对节目的选择的也是有限制的,也决定了用户之问不能进行资源的共 享。用户想通过机顶盒从服务器的上选择节目,但是当服务器上没有用户最感兴 趣的影视节目时,用户只能借助普通的计算机到互联网上去搜索。当从互联网上 下载影视资料时,用户会使用到基于p 2 p 技术的各种各样的应用程序,例如 b i t c o m e t 、e m u l e 等当前这种p 2 p 技术的网络技术在普通计算机中的应用十分广 泛。基于这种技术实现的应用软件,让用户的资源共享成为可能,也大大提高了 相同网络环境下的下载速度。 所谓p 2 p ,就是p e e r - t o - p e e r 的缩写,p e e r 在英语里有“地位、或者能力同等者” 等意义,故可称为对等网络。p 2 p 是一种技术,但更是一种思想,它有着改变整个 网络的潜能。p 2 p 使得网络上的沟通更直接共享和交互,真正地消除中间商。p 2 p 就是用户可以直接连接到其他用户的计算机交换文件,而不是像过去一样连接到 服务器区浏览与下载。p 2 p 另外一个重要特点是改变互联网现在以大网站为中心的 状态,重返“非中心化”,把权力交还给用户。当前,网络上的许多服务可以归入准 p 2 p 行列,例如在w i n d o w s 系统下,用户通过个人电脑使用诸如b i t c o m e t 等基于 p 2 p 技术的应用程序,到互联网上下载或者上传各种影视资料;另外,人们也可以 通过诸如p p l i v e 等p 2 p 软件在线观看影视节目。p 2 p 就是不控制权重新还到用户 手中。人们可以通过p 2 p 共享硬盘上的文件、目录甚者整个硬盘。那些费心存储 在自己硬盘上的东西肯定是我们认为最后价值的,所有人都共享了他们任务最有 价值的东西,p 2 p 技术使互联网信息的价值得到极大的提高。虽然这些p 2 p 软件 都有服务器参与管理,但是已经让人们体会到了p 2 p 的“人人为我,我为人人”的 快乐,如图1 1 。 图1 ip 2 p 技术在w m d o w s 下的应用 f i g u r v l - 1p 2 pa p p l i c a t i o ni nw m d o w s 但是直到目前为止,所有其他的p 2 p 解决方案和产品均是基于个人计算机的 方案。到目前为止,由于在基于p 2 p 技术的p r vt s 流封装技术上的难度,基于 相对简单的机项盒的p 2 p 解决方案一直未能出现。 为了弥补普通口t v 机顶盒的这种缺陷,实现机顶盒用户间的数据共享,需要 设计一种具有p 2 p 网络资源共享功能的机顶盒。它能够让用户自由管理本地资源, 并能平等与其他用户交流资源。这就需要在硬件平台的基础上采用面向对象的结 构化、标准化设计。完成具有扩展功能的软件平台。由于机顶盒是一个比较廉价 的产品,为节约成本,这就要求平台的有限资源要得到最大程度的利用”1 2 为了实现这一网络p 2 p 机顶盒,需要一种功能齐备的嵌入式操作系统,要求 可靠性高、资源占用少,并能够支持人性化的中文图形用户界面以及其他一些特 殊需求的功能。而一般的嵌入式操作系统很难全部实现这些功能。因此需要针对 特定的硬件平台,全方位移植和定制嵌入式l i n u x 操作系统,并定制人性化的完善 的中文图形用户界面,构建完整网络机顶盒的软件平台”。 本论文正是对这一类网络p 2 p 机顶盒平台上的的软件平台进行了研究。 1 2 课题研究的思路 网络p 2 p 机顶盒的功能就是能在机顶盒的硬件平台上实现基于p 2 p 技术的多 媒体传输和播放的应用。这样它应该包括三个部分: 1 对硬件的接口。网络p 2 p 机顶盒离不开多媒体数据的传输和播放、图像的 显示、各种外设的接入等。网络p 2 p 机顶盒需要与相关的各种硬件设备进行数据 交互。软件平台需要很好地将这些硬件设备驱动起来,来为上层的应用程序所用。 2 对应用程序的支持。网络p 2 p 机项盒上有各种各样的信息处理和多媒体传 输业务,如图像传输、音频传输、文件传输等,同时还要实现多种格式多媒体解 码功能。所以需要一个强大的多任务的实时的操作系统来对这些业务进行管理, 同时向这些业务提供硬件设备的接口,使它们能方便地使用硬件资源。 3 对用户。现在随着科学技术的进步,对设备的人性化要求越来越高,因此, 有一个美观便捷的图形用户界面也是嵌入式软件平台必不可少的一部分通过它 用户能够很方便地使用网络p 2 p 机顶盒。 图卜2 嵌入式软件平台框架图 f i g u r e1 - 2a r c h i t e c t u r eo f e m b e d d e ds o f t w a r ep l a t f o r m 图1 - 2 是嵌入式软件平台的框架图,在软件平台的上层与下层分别是应用程 3 序和硬件平台,中间三层即为软件平台的结构。 本机顶盒系统选择的硬件平台是基于e m 8 6 2 2 l 的e 2 开发平台,最高主频可 达1 6 6 m h z ,是比较流行的机项盒设备嵌入式s o c 芯片。现在典型的嵌入式操作 系统有w m c e 、p a l mo s 、e p o c 、v x w o r k s 、l i n u x 和嵌入式l i n u x 几种,根据实 际开发的需要,采用了嵌入式l i n u x - - u c l i n u x 作为机顶盒的操作系统。在l i n u x 上的图形用户界面主要有紧缩的xw m d o w 系统、m i n i g u i 、m i c r o w m d o w s 以及 q t e m b e d d e d 等。本课题软件平台最终选用的是基于m i n i g u l 的用户图形界面系 统。 1 3 课题研究的内容 本设计在嵌入式l i n u x 系统上实现了p 2 p 技术的应用。本文首先对p 2 p 的原 理和嵌入式l i n u x 系统相关内容进行了深刻的研究。 然后根据网络p 2 p 机顶盒所应具有的的功能特点,选定s i g m a d e s i g n 公司的 e m 8 6 2 2 l 平台作为本设计的硬件平台,并对主要功能部分进行了分析。 接着根据该硬件平台,分析了平台的底层资源,选定了本平台上层程序的总 体架构,继而完成了m i n i g u i 图形用户界面的定制,而后为本平台软件开发设计 建立交叉编译环境。 基于该平台的底层软件资源和功能要求,分析了该机顶盒应用程序的功能架 构,以及p 2 p 应用程序的移植和图形用户界面的设计,并完成本平台主控程序的 设计,继而完成该机顶盒设备的设计。 最后对给平台的功能进行实际测试并提出了改进意见及其实现思路。 4 2p 2 p 技术和嵌入式l i n u x 2 1p 2 p 技术原理 p 2 p ( p e e r - t o - p e e r ) 可以定义为,以非集中的方式使用分布式资源来完成关键 任务的类系统和应用。其中资源包括计算机能力、数据、网络带宽和其它资源, 而关键人物可能是分布式的计算、数据内容的共享,通信和协同、或平台服务。 p 2 p 有巨大的扩展力,它能通过低成本的交互来聚合资源,导致整体大于部分之和。 p 2 p 是一种网络拓扑结构,如图2 - l 所示。p 2 p 通过提供p e e r s 间基本的交互 来聚合系统上可用的资源“。 图2 1p 2 p 拓扑图 f i g u r e2 - lt o p o l o g yo f p 2 p m m 为p 2 p 下了如下定义:p 2 p 系统由若于互联协作的计算机构成,且至少 具有如下特性之一:系统依存于边缘化( 非中央式服务器) 设备的主动协作,每 个成员直接从其他成员而不是从服务器的参与中受益:系统中的成员同时扮演服 务器与客户端的角色:系统应用的用户能够意识到彼此的存在,构成一个虚拟或 实际的群体。p 2 p 网络是互联网整体架构的基础,互联网最基本的t c p i p 协议并 没有客户端和服务器的概念,在通讯过程中,所有的设备都是平等的一端。 p 2 p 模式与c s 模式的比较:由此可见两者的拓扑结构或说系统中节点的连接 方式明显不同。与传统的c s 模式相比l 2 p 模式有明显的优点:第一,资源利用 率高。这也是p 2 p 最主要的优点:第二,随着节点的增多网络会越稳定,不存在 瓶颈问题。第三,信息在对等节点间直接交换,高速及时,降低中转成本。第四, 基于内容的寻址方式处于一个更高的语义层。 当然p 2 p 也有不足之处。首先p 2 p 缺乏管理机制,不象在c s 模式中只需要在 中心点进行管理。其次p 2 p 网络中数据的安全性难以保证另外还存在吞噬网络 带宽问题、版权问题。还有就是目前还没有制定出一致的p 2 p 标准,这对p 2 p 技 术进一步发展也是一个障碍。 依据p 2 p 网络的请求机制和逻辑拓扑结构分,p 2 p 可分为三类l “j : 1 集中式的。这是一种非纯的p 2 p 系统,用中央服务器。中心服务器保存着 所有节点的地址和目标文件信息,这样节点只需要向服务器请求它想要信息所在 的节点地址。n a p s t e r 采取的就是这种机制。 2 分布且无结构式的。这种结构中信息是分布存储的,并且p 2 p 网络的逻辑 拓扑是随机的。请求通过网络一步步执行,直到成功( 失败) 或超时。这种结构 的效率会非常低。g u n t e l l a 原理、k a z a a 原理和b i t t o r r e n t 原理采取的就是这种结 构,查寻机制用的是f l o o d i n g 算法。 3 分布有结构的。这种p 2 p 网络中信息也是分布式存储的,但是p 2 p 网络的 逻辑拓扑具有一定的结构。他们通常用d h t ( d i s t r i b u t e dh a s ht a b l e ) 技术构建其拓 扑结构。在这种网络结构中请求也是一步步被执行的,在理想的情况下,经过一 定的h o p s 请求会被成功执行。 以p 2 p 分布有结构的过执行过程说明p 2 p 的实现方法。首先每个网上的p e e r 分配一个随机的d ,并知道其他p e e r s 给定的号码:然后当共享文件发布到系统 上时,根据文件的名字和内容h a s h 为i d :接着,每个p e e r 将根据该i d 向该文件 路由;随后该过程重复执行,直到最近的p e e ri d 是现行的p e e r 的i d :每个路由 操作还保持稳健副本在本地,当p e e r 请求某文件时,该文件的d 到达p o e t ,过程 重复知道发现文件副本,最终文件下载到请求源端。 2 2l 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 是免费的o s ,在价格上极具竞争力。 l i n u x 还有着嵌入式操作系统所需要的很多特色,突出的就是l i n u x 适应于多 种c p u 和多种硬件平台,是一个跨平台的系统,它可以支持二三十种c p u 。而且 性能稳定,裁剪性很好,开发和使用都很容易。很多c p u 包括家电业芯片,都开 始做l i n u x 的平台移植工作。同时,l i n u x 内核的结构在网络方面是非常完整的, l i n u x 对网络中最常用的t c p i p 协议有最完备的支持。提供了包括十兆、百兆、 千兆的以太网络,以及无线网络,t o k e r r i n g ( 令牌环网) 、光纤甚至卫星的支持。所 以l i n u x 很适于做信息家电的开发i a n u x 作为嵌入式系统是非常有发展前途的。 6 l i n u x 的大小适合嵌入式操作系统ij n u x 固有的模块性,适应性和可配置性, 使得这很容易做到”。另外,l i n u x 源码的实用性和成千上万的程序员热切其望它 用于无数的嵌入式应用软件中,导致很多嵌入式l i n u x 的出现,例如u c l i n u x 。 但是l i n u x 的图形界面还相对较弱,不过近年l i a u x 的图形界面发展很快,比如本 文设计使用的北京飞漫公司的m i n i g u i 。 2 2 1l i n u x 系统分析 1 任务管理 l i n u x 是一个多用户多工的操作系统。多用户是指多个用户可以在同一时间使 用电脑系统:多工是指l i n u x 可以同时执行多个任务,它可以在还未执行完一个任 务时又执行另一项任务别。 图2 - 2l i n u x 任务状态转换图 f i g u r e2 - 2l i n u xt a s k ss t a t e st r a n s f o r m 操作系统管理多个用户的请求和多个任务。大多数系统都只有一个c p u 和一 个主存,但一个系统可能有多个二级存储磁盘和多个输入, 禽出设备。操作系统管 理这些资源并在多个用户间共用资源,当你提出一个请求时,给你造成一种假象, 好像系统只被你独自占用。而实际上操作系统监控着一个等待执行的任务队列, 这些任务包括用户作业、操作系统任务、邮件和显示作业等。操作系统根据每个 任务的优先顺序为每个任务分配合适的时间片段,每个时间片段大约都有零点几 秒,虽然看起来很短,但实际上已经足够电脑完成成千上万的命令每个任务都 会被系统运行一段时间,然后挂起,系统转而处理其他任务:过一段时间以后再 回来处理这个任务,直到某个任务完成,从任务队列中去除“1 1 标准l i n u x 任务 在l i n u x 中,任务被映射为进程。l i n u x 的进程模型源自u n i x 系统,使用f o r k o 系统调用可以创建一个与调用进程相同的复制。调用f o r k o 函数的进程叫做父进 7 程,新建立的进程叫做子进程,父进程和子进程一起并行执行。从初始进程开始, 随着进程树的不断繁殖,就得到一个动态的进程树。l i n u x 的每一个进程都由一个 t a s ks t r u c t 数据结构来描述,t a s ks t r t l c t 就是通常所说的进程控制块,即t c b 。它 存储了管理任务的所需要的大量信息。在不同的操作系统中,任务的数据结构表 示不进相同。 在u n i x 类操作系统中,从任务静态来看就是一个存放在外存里的可执行程 序文件,当操作系统装载该程序运行时,将建立任务的动态数据表示。例如,在 u n i x 操作系统中,一个进程代表一个任务,它主要由代码段、数据段、未初始化 数据( b b s ) 段和堆栈段等组成。 2 l i n u x 任务调度 ( 1 ) 调度目标 任务调度的主要目的是合理地分配处理器资源。在l i n u x 中,调度器依据 t a s ks t r u c t 结构中的4 个数据项来进行进程调度。它们分别是:p o l i c y 、n i c e 、c o u n t e r 、 r t。 代表进程的调度策略;代表进程的动态优先级;代priority p o l i c y n i c e c o u n t e r 表进程当前剩余的时间片;r t代表任务实时优先级。提供了3 种调p r i o r i t y l i n u x 度策略:分时调度策略s c h e d - o t h e r 、实时先到先服务调度策略s c h e d - f i f o 和轮转的实时调度策略s c h e d r r ”。 ( 2 ) 调度方法分类 按照正在执行的任务是否可被抢占,优先级调度可分为可抢占调度和不可抢 占调度:而按照操作系统内核是否可被抢占,可抢占调度又可分为内核可抢占调 度和内核不可抢占调度”。 ( 3 ) 调度算法和l i n u x 进程调度 实时操作系统中,经典的常用调度算法包括用户指定的优先级调度、速率单 调调度、最早时限优先调度、最少松弛时间调度等。 l i n u x 任务调度算法是一种基于时间片的动态优先级的分时调度。 任务创建可以分为以下几步:首先给任务分配任务控制块p c b ;其次,初始 化任务的基本信息。如进程号、优先级、时间片等;接着,初始化与任务管理相 关的其他信息,如任务内容的空间信息、文件访问信息和任务间通信信息等;然 后初始化任务的链接信息,即将任务加入到系统的任务管理数据结构中,如将进 程加入到进程树中;最后,设置任务的运行代码的位置,然后运行任务。”。 2 存储器管理 l i a u x 实现了基于虚拟页式存储管理的虚拟存储,在i 3 8 6 结构的机器上,每个 用户任务的虚拟地址空间都可达到4 g b l i n u x 的存储管理使用了三层页表来处理 逻辑地址到物理地址的转换,分别是p g d ( 页表目录) 、p m d ( 中问页表目录) 和p t ( 页表) 。 l i n u x 将存储管理分为物理内存管理、内核内存管理、虚拟内存管理、内核虚 拟内存管理和用户级内存管理”1 。 1 物理内存管理以页为单位,记录、分配和回收物理内存,物理内存管理使 用b u d d y ( 伙伴) 算法。 2 内核内存管理主要负责为各种内核数据结构分配空间,其大小一般较小。 如果使用以页为单位的物理内存管理则浪费较大,为此l i n u x 专门提供了使用s l a b 算法的内核内存管理。 3 虚拟内存管理在物理内存管理的基础上,使用请求调页机制和交换机铆, 为系统中的每个进程都提供高达4 g b ( i 3 8 6 平台) 的虚拟内存空间。 4 内核虚拟内存管理l i n u x 将每个进程的4 g b 虚拟内存分为用户区( o - 3 g b ) 和内核区( 3 4 g b ) ,内核虚拟内存管理负责内核区虚拟内存的管理。 5 用户级内存管理在用户任务空间,即进程的内存空间管理,一般由c 库实 现,目的是为用户的应用编程提供支持”1 。 3 中断 中断是计算机中的一个重要概念,所谓中断就是由微处理器的内部硬件或者 外部设备引起的,暂停当前程序的执行,转而去执行一个特殊的处理程序。并在 执行完后,恢复原来的程序的执行过程”1 。中断是为克服f o 接口程序采用查询方 式实现所带来的处理嚣低效率的缺点丽引入的。所谓中断,就是当c p u 正常运行 程序时由于随机事件引起c p u 暂停正在执行的程序,转去执行某个特定的程序 中断服务程序,并在执行后返回原来被暂停的程序处继续执行的过程。中断 服务程序一般有4 个部分组成:保护现场、中断服务代码、恢复现场、中断返回 2 2 2 嵌入式l i n u x 作为嵌入式l i n u x 中的一种,u c ii 埘微控制器领域中的l i n u x 系统,它是 现在应用最为广泛的一种嵌入式l i n u x 。u c l i n u x 从l i n u x2 0 2 4 2 6 内核派生而来, 沿袭了l i n u x 的绝大部分特性。u c l i n u x 专门针对没有m m u 的c p u ,并且为嵌入 式系统做了许多小型化的工作。u c l i n u x 是一个完全符合g n u g p l 公约的项目, 完全开放代码。支持的硬件系统有十余种,例如a r m7 t d m i 、m c 6 8 e n 3 0 2 等。 本设计之所以使用u c l i n u x 是因为,与l i n u x 操作系统比较,u c l i n u x 系统有 如下特点“: 1 低端平台的最佳选择是u c l i n u x ,其性能稳定、移植性好、功能强大。 2 u c l i n u x 的系统与标准l i n u x 的架构完全一致。 9 3 内存管理 u c l i n u x 是专门针对没有m m u 的处理器而设计的,即u c l i n u x 无法使用处理 器的虚拟内存管理技术。实际上u c l i n u x 采用实存储器管理策略,通过地址总线对 物理内存进行直接访问。所有程序中访问的地址都是实际的物理地址,所有的进 程都在一个运行空问中运行( 包括内核进程) 。u c l i n u x 仍然采用存储器的分页管 理,系统在启动时把实际存储器进行分页,在加载应用程序时程序分页加载。一 个迸程在执行前系统必须为进程分配足够的连续地址空间,然后全部载入主存 储器的连续空间中。系统不含m m u 带来的另外一个问题是磁盘交换空间无法使 用。m m u 的省略虽然带来了系统及应用程序开发的限制,但对于成本和体积敏感 的嵌入式设备而言,其应用环境和应用需求并不要求复杂和相对昂贵的硬件体系, 对于功能简单的专用嵌入式设备,内存的分配和管理完全可以由开发人员自行制 定。 因 围困 臣固 二二】巫三二 图2 - 3u c l i n u x 系统架构 f i g u r e2 - 3s t r u c t m 陀o f u c l i n u xo s 4 文件系统 u c l i n u x 系统多采用r o m f s 文件系统,r o m f s 是一种相对简单、占用空间较少 的文件系统。空间的节约来自于两个方面:首先内核支持r o m 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 a m d i s k ) 支持帷时文件和数据文件的存储。随着技 术的发展,近年来日志文件系统在u c i i n u x 系统上得到了较多的应用,其中以支持 n o rf l a s h 的j f f s 、j f f s 2 文件系统和支持n a n df l a s h 的y a f f s 最为流行。 这些文件系统都支持掉电文件保护,同时支持标准的m t d 驱动。 5 多进程管理 由于u c l i n u x 没有 舢管理存储器,在实现多个进程时需要实现数据保护。 u c l i n u x 的虽然支持f o r k 函数,但其实质是和v f o r k :实际上u c l i n u x 所有的多进程 管理都通过v f o r k 来实现。, , f o r k 不拷贝父进程的页面。只是初始化私有的数据结 构与准备足够的分页表。调用完成后父子迸程事实上共享同一块存储器,因此子 进程可以更改父进程的数据及堆栈信息,所有父进程进入睡眠,直到子进程执行 既。当子进程正确开始执行后,将唤醒父进程,使得父进程继续往后执行。这就 是说当u c l i n u x 系统f o r k 调用完程后,要么子进程代替父进程执行直到子进程调用 e 疵退出,要么调用嗽执行一个新的迸程 2 :3嵌入式l i n u x 系统的开发工具 2 3 1s h e l l s h e l l 就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加 以解释并传给系统。它为用户提供了一个向l i n u x 发送请求以便运行程序的接口系 统级程序,用户可以用s h e l l 来启动、挂起、停止甚至是编写一些程序”1 。 s h e l l 本身是一个用c 语言编写的程序,它是用户使用l i n u x 的桥梁。s h e l l 既 是一种命令语言,又是一种程序设计语言。作为命令语言,它互动式地解释和执 行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许 多在高阶语言中才具有的控制结构,包括循环和分支。它虽然不是l i n u x 系统内核 的一部分,但它调用了系统内核的大部分功能来执行程序、创建文档并以并行的 方式协调各个程序的运行。一般的l i n u x 系统都将b a s h 作为默认的s h e l l ,例如本 设计开发使用的是大多数l i n u x 发布版本中使用的b a s h ( b a s ha g a i ns h e l l ) 。 2 3 2 ( n um a k e 一个工程中的源文件不计数。其按类型、功能、模块分别放在若干个目录中, m k e f i l e 定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编 译,哪些文件需要重新编译。甚至于进行更复杂的功能操作钉。 r a k e 是个命令工具,它解释m a k e f i l e 中的指令( 应该说是规则) 。在m a k e f i l e 文件中描述了整个工程所有文件的编译顺序、编译规则1 i a k e f i l e 有自己的书写 格式、关键字、函数。像c 语言有自己的格式、关键字和函数一样。而且在m a k e f i l e 中可以使用系统s h e ll 所提供的任何命令来完成想要的工作。g a k e f il e 在绝大多 数的i d e 开发环境中都在使用,已经成为一种工程的编译方法。t l a k e f i l e 文件作 为一种描述文档一般需要包含以下内容:宏定义,源文件之阃的相互依赖关系和 可执行的命令。 g n um a k e t 具为我们实现这个目的提供了非常有利的支持。工程中根据源文 件的修改情况来进行代码的编译正是使用t m a k e 的这个特征。m a k e 执行时,根据 m a k e f i l e 的规则检查文件的修改情况,决定是否执行定义的动作( 那些修改过的文 件将会被重新编译) ”1 。 2 3 3 d e b u g 工具g d b g n u 调试器( g d b ) 对g n u 软件系统是标准调试器。它是一种运行和很多类 u n i x 系统和为很多程序设计语言( 包括c ,c h 和f o r t i l k n ) 工作的可移植 的调试器。g d b 为计算机程序执行的跟踪和改变提供扩展工具。 g d b 具备各种除错功效,能针对电脑程式的执行进行追踪与警告,使用g d b 的除错人员可以监督及修改程式的内部变数值,甚至监督与修改独立于主程式运 作外,以独立个体型态呼用( 呼叫使用) 的函式。g d b 能为多种不同处理器架构 上执行的软体进行除错”。 g d b 具有一种远端r e m o t e 模式,此种模式多半是在为嵌入式系统迸行除错 时使用,远端操作指的是:g d b 在一部机器内执行,而要进行除错的程式是在另 一部机器上执行,接着欲除错的机器上会再加装一个名为s t u b 的程序,该程序能 够与另一端的g d b 程式沟通,沟通的路径可以是两部机器阃的串接式接线( s e r i a l c a b l e ) ,也可以是支援t c p ,m 协定传输的各种网路,在t c p i p 网路及协定上再加 搭传输g d b 专有的除错操作用通讯协定,如此便能进行远端除错。 不仅g d b 有远端模式,k g d b 也同样具有远端模式,k g d b 主要是为执行中 的l i n u x 核心进行除错,而g d b 则是主要是用在原代码的层次。某些架构的处理 器中,会以硬体方式提供一些除错功用的寄存器,以及可以设定观察点w a t c h p o i n t , 观察点的功用是:当程式设计师指定的记忆体位址被执行到或访问到时,观察点 即会去触发、触动一个中断点“” 1 2 3 系统硬件方案和底层资源的定制 3 1系统的硬件方案制定与分析 3 1 1 系统硬件方案的制定 开发一个嵌入式机系统的前,选择一个合适嵌入式处理器至关重要。 嵌入式处理器可谓是通用计算机中c p u 的微缩版。相对于通用c p u ,嵌入式 处理器具有体积小、功耗少,成本低的优点,当然在速度上也慢一些嵌入式微处 理器在软件配置上常常可以运行嵌入式操作系统,应用于比较高档的领域“1 。作 为嵌入式系统的核心,嵌入式处理器从具体的应用方向来分可分为三大类:嵌入 式微控制器( e m b e d d e d m i c r o c o a t r o l l e r u n i t , e m c u ) ;嵌入式d s p 处理器 ( e m b e d d e dd i 酉t a is i g n a lp r o c e s s o r , e d s p ) ;嵌入式片上系统( s y s t e mo n c h i p ) 。 这些处理器根据各自特点运用于不同的领域“。 本设计作为一种机顶盒类系统,其处理的数据多为音视频数据,其格式包括 m p e g 2 4 ,h 2 6 4 、d v d 等多种。这就要求所选用嵌入式芯片有高的集成度。所 以本设计将选用s o c 嵌入式处理器作为硬件平台的核心”1 。 市场上按照机顶盒类嵌入式s o c 处理器不同的功能,分为两大类: 图3 一le m 8 6 2 2 l 的结构 f i g m e 3 - lt h es t r u c t u r eo f e m 8 6 2 2 l 第一类是专门针对卫星的数字电视、有线电视机顶盒设计的m p e g 2 解码芯 片有线电视网络的传输,拥有m p e g 1 m p e g - 2 的数字解码技术,支持p 业务 并能让业务运营商转移到全球的口网络平台上,而且满足语音、视频和数据通信 的要求例 第二类是针对家庭娱乐、宽带信息中心,口业务等为一体化的s t b 芯片,与 第一类不同在于,可拥有多种外设接口,例如支持硬盘,u s b 2 0 ,d v d 等,还支持 1 v 伊e g - i 2 4 、a v i 、w m v 等,以及多种视频格式的输出等,真是由于这点不周, 使这类芯片作为面向家庭娱乐与家庭信息控制的平台更具优势”。 s i g m a d e s i g n 公司在多媒体技术领域主要以支持多种音视频解码格式而处于 领先地位,其开发的e m 8 6 2 2 l 是具有低成本、低功耗的高性能的s o c ,并有较 多的外设接口,主要用于i p t v ,d v b 和消费电子产品中,如图3 - 1 。

温馨提示

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

评论

0/150

提交评论