(通信与信息系统专业论文)视频服务系统中的若干关键技术问题研究.pdf_第1页
(通信与信息系统专业论文)视频服务系统中的若干关键技术问题研究.pdf_第2页
(通信与信息系统专业论文)视频服务系统中的若干关键技术问题研究.pdf_第3页
(通信与信息系统专业论文)视频服务系统中的若干关键技术问题研究.pdf_第4页
(通信与信息系统专业论文)视频服务系统中的若干关键技术问题研究.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(通信与信息系统专业论文)视频服务系统中的若干关键技术问题研究.pdf.pdf 免费下载

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

文档简介

摘要 视频服务系统中的若干关键技术问题研究 作者简介:张云川,男,1 9 7 5 年1 2 月出生,2 0 0 4 年9 月师从于成都理工大学 大学曹俊兴教授,于2 0 0 7 年6 月获硕士学位。 摘要 从1 9 9 5 年第一个互联网流媒体播放器问世,流媒体应用成爆炸性增长,流 媒体的巨大市场吸引越来越多的企业参与竞争。随着流媒体在中国逐步发展,流 媒体成为热门技术之一。在国内,流媒体的产业涉及远程教学、视频点播、卫星 定位、城市交通、远程监控等方面。 本论文以流媒体系统中的一些关键技术问题为研究对象,从系统的组成、软 件平台移植、驱动、应用程序等方面进行了比较深入的研究。 全文共六章。第一章,研究背景;第二章,视频服务系统结构;第三章,系 统移植;第四章;驱动移植;第五章,应用软件移植:第六章,视频遮挡;最后 是结论、致谢和参考文献。 本文的主要工作及成果如下: ( 1 ) 在系统构建上,主要涉及到流媒体服务器的选型,流媒体软件( 丌源 软件v l c 作为流媒体服务器的软件) 的选择、移植和定制。 ( 2 ) 在视频服务器平台移植方面,将系统由u c l i n u x 一2 4 内核升级到 u c l i n u x 一2 6 内核。其中讨论了交叉编译器建立、内核移植、文件系统的建立、常 用工具的制作等。 ( 3 ) 在驱动移植上主要阐述了f l a s h 、r s 一4 8 5 驱动修改等。 ( 4 ) 应用程序方面,阐述了在视频服务器上的应用程序t s 流的配置等。 ( 5 ) 在视频遮挡方面,主要阐述了视频遮挡的实现和移植到m i p s 系统中 的整个过程。 关键词:流媒体服务器v l c u c l i n u x 成都理工大学硕士学位论文 t h er e s e a r c ho fs o m e k e yt e c h n i q u e s i ns t r e a mm e d i as y s t e m a b s t r a c t t h ef i r s ts t r e a mm e d i ao fi n t e r n e tc a m eo u ti n1 9 9 5a n di tw a sw i d e l yu s e d t h e e r l o r l t l o u sm a r k e to ft h es t r e a mm e d i aa t t r a c t sm o r ea n dm o r ee n t e r p r i s e st o p a r t i c i p a t ei nt h ec o m p e t i t i o n w i t hs t r e m nm e d i ad e v e l o p i n gd r a s t i c a l l yi nc h i n a ,i t b e c o m e so n eo ft h eh o tt e c h n o l o g i e s t h ei n d u s t r yo ft h es t r e a mm e d i ai n v o l v e s d i s t a n c el e a r n i n g ,v i d e oo nd e m a n d ,s a t e l l i t el o c a t i o n ,c i t yt r a f f i c ,v i d e oe t c t h i st h e s i s r e g a r d ss o m ek e yp r o b l e m si nt h es t r e a mm e d i as y s t e ms u c h a s s y s t e mc o m p o s i t i o n ,s o f t w a r ep l a t f o r mt r a n s p l a n t i n g ,d r i v e r , a p p l i c a t i o np r o g r a mo f t h es y s t e me t c t h e r ea r es i x c h a p t e r s i nt h e t h e s i s ,p r e s e n t i n g t h e t o p i c s :t h es t u d y b a c k g r o u n d ,t h es y s t e ms t r u c t u r eo fs t r e a mm e d i a ,t h et r a n s p l a n t i n go ft h es y s t e m d r i v e r sa n dt h ea p p l i c a t i o ns o f t w a r e ,a n dt h er e a l i z a t i o no f v i d e os h e l t e r s t h em a i na c h i e v e m e n t so f m i st h e s i sa l ea sf o l l o w s : ( 1 ) i n t r o d u c e st h es e l e c t i o no fs e r v e r , t r a n s p l a n t a t i o na n dc u s t o m i z eo fs t r e a m m e d i as o f t w a r e ( c h o o s es o u r c e o p e n e ds o f t w a r ev l ca st h em a i ns e r v e rs o f t w a r eo f t h es t r e a mm e d i a ) ( 2 ) u p g r a d e st h ek e r n e ls y s t e mw a st ou c l i n u x 一2 6f r o mu c l i n u x 一2 4k e r n e l ,i n a d d i t i o n ,d i s c u s s e st h ep r o c e s so fs e t t i n gu pc o m p i l e r , k e r n e lt r a n s p l a n t i n g ,s e t t i n g - u p o f t h ef i l es y s t e ma n dm a k i n go f c o m m o nt 0 0 1 ( 3 ) t r a n s p l a n t sa n dm o d i f i e sf l a s h ,r s 4 8 5d r i v e r se t c ( 4 ) i l u m i n a t e st h ec o n f i g u r a t i o no fa p p l i c a t i o np r o g r a mt so nt h es e r v e ro ft h e v i d e of l o w s ( 5 ) i n t r o d u c e st h er e a l i z a t i o no ft h e v i d e os h e l t e r sa n dt h em e t h o do f t r a n s p l a n t i n gv i d e os h e l t e r st ot h em i p ss y s t e m k e y w o r d :s t r e a mm e d i as e r v e r v l cu c l i n u x 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得盛都理王去堂或其 他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中作了明确的说明并表示谢意。 签名:碲叼 ,卯年f 月圬日 学位论文版权使用授权书 本学位论文作者完全了解成都堡王盍堂有关保留、使用学位论文的规 定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被 查阅和借阅。本人授权盛壑堡王太堂可以将学位论文的全部或部分内容编入 有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位 论文。 ( 保密的学位论文在解密后适用本授权书) 签名:棚 了耐7 年工月“日 第1 章引言 第1 章引言 流媒体技术是一种基于宽带技术的视频、音频实时传输技术。他的出现使网 络成为集电视、报纸、广播于一体的新媒体。流媒体技术主要涉及视频点播、远 程教育、视频会议、网络直播、网上新闻发布、网络广告、远程监控等方面的应 用,方便了人们全球范围类的信息交流。 由于流媒体数据量大,在线传输时,要做到真正意义上的实时监控,网络传 输成为实时监控系统的关键所在。由于t c p 协议严格建立连接、断开和连接的三 次握手以及差错重发机制,它并不适合数据量大、实时性强的视频数据流的传输。 面向无连接的u d p 协议由于毫无数据纠错和排序功能,似乎也不太符合要求。网 络还不够强大,带宽资源有限,不能很好的保证o o s 。利用r t p r t c p 协议族来 实现传输控制,r t p 负责传输媒体数据,r t c p 负责控制信息的交互,利用现有的 网络协议和网络资源,对q o s 加以控制以获得较好的视频传输效果。此外,为了 特殊监控的需要,视频捕捉和回放也是一个有待解决的问题。开源流媒体软件 v l c 支持宽松的格式变化和跨平台性;既可以作为流媒体服务器,又可以作为一 个优秀的媒体播放器;同时提供高品质流媒体的捕捉和回放:有效的解决了系统 的通用性和可扩展性。在国内,还没有将v l c 作为流媒体服务器的报道。因此, 将开源v l c 运用到视频监控也是一件很有意思尝试。它不但解决了流媒体传输中 的一些技术问题,而且能节约软件开发的时间和大量的人力物力,为公司在软件 开发中节约了资金和时间。 1 1 数字视频监控系统分类 数字视频监控可以分为如下的几种: 第一种是基于p c 机的远程视频监控系统,现场放置插有视频卡的p c 机,视 频的压缩与解压缩由视频卡来负责完成。优点在于能实现在网上互联互通及授权 客户直接访问,便于构建系统及方便联网,但具有现场不能脱离p c 机,实用性 较差,系统稳定性差,费用高的缺点。 第二种是通过在现场设置视频网络编码器,将模拟视频编码后上网传输,并 在监控端设置的对应解码器将网上数字视频信号解码后进行监控。其优点在于现 成都理工大学硕士学位论文 场不需p c 机支持,系统稳定性提高。但具有只能一对一传输,难以实现授权客 户直接访问和联网的缺点。 第三种是网络化远程视频监控,即基于嵌入式视频服务器技术的远程网络视 频监控。现场采用网络监控产品包括:网络摄像机、网络高速球、网络视频接入 器等,摄像机传送来的视频信号数字化后由高效压缩芯片压缩,通过内部总线传 送到内置的视频服务器,经过处理后输出全数字信号并可直接上网传输与控制, 现场无需p c 机支持。它使监控系统的应用范围更加广阔,监控的距离更加的遥 远,并能满足网络化的需要和个性化的用户需求。 1 2 流媒体软件 w i n d o w sm e d i a 。流媒体领域的巨大市场前景,使得众多厂商倾力投入其中。 微软公司推出的w i n d o w sm e d i a 技术具有方便性、先进性、集成性、低费用等特 点。m i c r o s o f tw i n d o w sm e d i a 技术是一个能适应多种网络带宽条件的流式多媒 体信息的发布平台,提供密切结合的一系列服务和工具用以创造、管理、广播和 接收通过i n t e r n e t 和企业i n t r a n e t 传送的极其丰富的流式化多媒体演示内容, 包括了流式媒体的制作、发布、播放和管理的一整套解决方案。另外,还提供了 开发工具包( s d k ) 供二次开发使用。 r e a l n e t w o r k s 。r e a l n e t w o r k s 公司是世界领先的网上流式视音频解决方案 的提供者,提供从制作端、服务器端到客户端的所有产品。r e a n e t w o r k s 公司最 新的网上流式视音频解决方案叫r e a l s y s t e mi q 。r e a l s y s t e mi q 容易安装,在 高低带宽均可提供良好的视音频质量,但价格较贵。作为流媒体领域的主导厂商, r e a l n e t w o r k s 公司凭借其优秀的技术,占领了一半多的网上流式视音频点播市 场。r e a l s y s t e mi q 由服务器端流媒体播放引擎( r e a ls e r v e r ) 、内容制作、客 户端播放三个方面的软件组成。 q u i c k t i m e 。a p p l e 公司的q u i c k t i m e 于1 9 9 1 年登台亮相,是a p p l e 公司面 向专业视频编辑、w e b 网站创建和c i ) - r o m 内容制作领域开发的多媒体技术平台, q u i c k t i m e 支持几乎所有主流的个人计算平台,是数字媒体领域事实上的工业标 准,是创建3 d 动画、实时效果、虚拟现实、a v 和其他数字流媒体的重要基础。 q u i c k t i m e 是苹果公司最新的流视频平台,对于使用m a co sx 的用户来说是一 个比较理想的流视频方案选择。目前q u i c k l i m e4 播放器已经在全世界被众多的 2 第l 章引言 m a c 及视窗用户所采用,是仅次于r e a l p l a y e r ,w i n d o w sm e d i ap l a y e r 的流视 频播放器。q u i c k t i m e 支持开放标准r t p 、r t s p 协议及h t t p 流。q u i c k l i m e 的一 个显著特点是支持转播功能和模块化a p i ,用户可以方便地通过q t s sa p i 为服 务器添加新的功能。 v l c 。v l c 是由一个法国学生发起的一个开源软件项目。它支持众多的硬件 平台。v l c 既可以作服务器端软件,又可以作客户端的播放软件,它也支持不完 整的文件播放,最关键的一个特点是v l c 源代码开放。因此,我们可以在现有 v l c 实现的功能基础上增添自己需要的功能。它是一款跨平台的自由软件,可以 在w i n d o w s 、l i n u x 、a p p l e 机、a r m 等上面运行。 根据以上的四种软件的比较,由于在服务器上运行的是l i n u x 系统,以及需 要在现有服务器软件的基础上增添自己的功能等原因,我们选择了v l c 作为流媒 体服务器软件,以便在v l c 的基础上扩展自己的功能。 1 3 研究内容 该文主要基于3 0 凯天的视频监控系统项目中的几个子项目的研究。探索如 何利用流媒体技术,实现多路的实时远程视频监控系统中存在的一些关键问题。 本文主要解决以下几个技术问题。 1 嵌入式开发环境的构建:构建交叉编译环境,b o o t l o a d e r 的移植,嵌入 式操作系统( u c l i n u x ) 的内核移植( 从2 4 内核升级到2 6 内核) 。 2 驱动程序:4 8 5 、f l a s h 等移植与修改。 3 流媒体服务器:流媒体服务器的总体方案设计;流媒体服务器的环境搭建; 客户端播放器插件。 4 视频遮挡;这个功能主要用在一些特殊的地方,如提款机的视频监控等。 成都理工大学硕士学位论文 第2 章视频服务系统软硬件结构 这个项目的初步计划是实现5 0 路以上的视频并行输入,容纳5 0 0 人的在线 浏览功能,拟租用带宽1 0 0 0 m 以太网,流媒体的码流为固定的5 1 2 k 。该系统涉 及到两个服务器一一视频服务器和流媒体服务器。 2 1 硬件结构 整个系统的硬件由三部分组成:视频服务器、流媒体服务器、客户端。 视频服务器。视频服务器由外围输入设备( 云台,声音报警等) ,视频服务 器( k tm m t l 6 4 0 ) 本体组成。视频服务器( k t _ m m t l 6 4 0 ) 由3 0 凯天自主研发。 视频服务器采用a d m 5 1 2 0 芯片和专用的编解码芯片w e b 2 0 1 0 ;功能是完成视频 的采集、压缩和定向传输( 定向传输主要是采用u d p 协议向中心服务器发送t s 流) 。 流媒体服务器。流媒体服务器由i b me s e r v e r 服务器,交换机等部分组成, 中心服务器采用i b m 的e s e r v e r8 8 4 0 服务器,包括4 颗c p u ,内存1 6 g ,存储阵 列4 个1 6 0 g 的硬盘,1 0 0 0 m 以太网口2 个。流媒体服务器可以容纳2 0 0 5 0 0 个 视频流并行输入和1 0 0 0 2 0 0 0 人在线浏览。采用双机备份后,性能方面更加的 可靠和同时容纳更多的输入和输出。流媒体服务器主要完成是视频流的转发、格 式的转换等。在流媒体服务器上可以完成v o d 、视频流、d v d 等的综合数据业务 的功能。 客户端。客户端可以采用p c 机,p d a 等设备。 2 1 1 系统方案 视频服务器硬件部分核心功能是视频数据采集、压缩、传输及控制。嵌入式 处理器采用a d m 5 1 2 0 芯片,它是高度集成的片上系统,可以很好的运行嵌入式操 作系统,支持网络设备等;视频采集、压缩模块采用v w 2 0 1 0 编解码芯片,对视 频数据进行硬件m p e g 4 算法压缩,完成整个系统中运算量最大的操作。从摄像头 获得原始视频信号,该信号经过视频接收电路进行前端处理( 包括阻抗匹配、限 幅和钳位) ,然后编码处理芯片对信号进行a d 转换和编码,以产生符合视频处 4 第2 章视频服务系统软硬件结构 理芯片v w 2 0 1 0 视频接口标准( i t u 6 5 6 标准) 并行数字电视信号,v w 2 0 1 0 编解码 器完成m p e 4 视频数据的压缩,经压缩处理的数据通过内部p c i 总线送到 a d m 5 1 2 0 嵌入式处理器。嵌入式u c l i n u x 操作系统运行在, d m 5 1 2 0 嵌入式平台之 上,在u c l i n u x 上运行的应用程序把压缩数据按照i p 协议打包,通过网络接口 发送到i n t e r n e t 上。v w 2 0 l o 编解码部分的外围电路较简单,只需连接进行编解 码数据缓冲的s d r a m 芯片及相应的音视频a d 、d a 芯片。系统方案如图2 1 。 图2 1 系统方案图 2 1 2 视频服务器硬件系统 视频服务器硬件部分的主要组成部分包括:视频采集、a d 转换( s 从7 1 1 5 或者s a a t l l 3 两种不同型号芯片) 、专用的视频压缩芯片( v w e b 2 0 1 0 ) 、a d m 5 1 2 0 芯片、s d r a m ( h 1 5 7 v 2 8 1 6 2 0 e t 、h t 5 7 v 6 4 3 2 0 0 t ) 、n o r f l a s h ( m x 2 9 l v 3 2 0 a b t c ) 、 n a n d f l a s h ( k 9 f 1 g 0 8 u o a ) 。n o r f l a s h 主要用来存储b o o t l o a d e r 、k e r n e l 、r o o t f s 、 应用程序等程序。n a n d f l a s h 主要用来存储视频服务器的数据。视频服务器硬件 组成如图2 2 。 图2 2 视频服务器硬件组成图 成都理工大学硕士学位论文 音视频压缩解压芯片。v w 2 0 1 0 是v w e b 公司开发的实时m p e g 一1 、一2 和一4 音 视频系统编解码芯片( 同时压缩、解压或编码、解码) 。视频编码部分接收未压缩 的i t u - r b t 6 5 6 数字视频信号。它将视频信号转换为m p e g - 1 、一2 、一4 或h 2 6 3 格式。音频编码部分接收双通道分立的1 2 s 数字音频格式数据并具有输入滤波功 能。它可将每路音频转换为m p e g 一1 ,m p e g - 2 ,m p 3 ,l l a c 或11 c 一3 音频格式。 音视频压缩解压芯片特点。片内集成有3 个信号处理控制单元,包括一个 视频编码( 压缩) 器、一个视频解码( 解压) 器和一个片内c p u ( 内部扩展一个音频 编码d s p 、一个音频解码d s p 、一个多路复合单元和一个多路解复合单元) 。具有 可编程、高性能和低功耗特点。每个信号处理控制单元都由一个r i s c 处理器和 专用的硬件加速器构成。此外,视频编、解码器内部还集成了一个专用的s d r a m , 在系统上电复位时,视频编、解码器的固件程序可由外部主机( h o s t ) 载入各自 专用的s d r a m ;而片内c p u 的固件程序则可载入v w 2 0 1 0 外挂的s d r a m 。芯片的主 机接口采用标准p c i 接口,内部集成了一个双通道d m a c ,系统h o s t 可直接通过 主机接口对v w 2 0 1 0 进行控制,m p e g 提供有与数据流采用d m a 方式传输。p h i l i p s 公司兼容的1 2 c 总线,可方便地对外围芯片进行控制。 2 2 系统软件结构 系统软件流程是以视频服务端多路视频的输入,通过内部或者公网传送视频 流到中心服务器,中心服务器通过直接或者格式转换后定向发给订阅用户。在中 心服务器上提供流媒体的质量服务、计费系统等功能。 2 2 1 视频服务器 运行u c l i n u x 系统。云台采集的模拟信号通过a d 模数转换成数字信号,数 字信号输入到专用的编码芯片w v e b 2 0 1 0 进行编码,编码后的数据通过p c i 总线 传到a d m 5 1 2 0 ,a m d 5 1 2 0 进行封装后采用u d p 的格式向流媒体服务器发送( 图2 3 ) 。 图2 3 视频服务器流程图 6 第2 章视频服务系统软硬件结构 2 2 2 流媒体服务器 采用l i n u x 服务器版操作系统,v l c 作为流媒体服务器软件。v l c 既可以作 流媒体服务器软件使用,也可以作客户端的播放软件。该软件有一个具有不完全 文件下载的播放功能。可以播放多种格式的文件和转发流媒体。提供给运营商时 还需在流媒体服务器上加上其他的功能。 2 2 3 客户端 通过浏览器或其他的网络播放器访问流媒体服务器,根据订阅情况提过服 务。 2 3 开发平台与调试工具 在嵌入式系统软件的开发过程中采用e c l i p s e 集成开发平台。e c l i p s e 平台 只是开发工具的一个框架,不直接支持c c + + 。它需要使用外部插件来提供对 c c + + 支持。c y r 项目致力于为e c l i p s e 平台提供功能完整的c c + + 集成开发环 境。c d t 是完全用j a v a 实现的开放源码项目。它作为e c l i p s e s o k 平台的一组插 件,这些插件将c c + + 透视图添加到e c l i p s e 工作台( w o r k b e n c h ) 中。在利用 该平台进行嵌入式系统软件的开发时需要对该平台较多的配置。在默认的情况下 它以g c c 作为编译器,但是在m i p s 系统中需要以m i p s e 卜1 i n u x g c c 作为交叉编 译器。 1 ) c d t 插件( 组件) 列表 主c d t 插件是“框架”c d t 插件。 c d t 功能e c l i p s e 是c d t 功能组件( f e a t u r ec o m p o n e n t ) 。 c i ) t 核心提供了核心模型、c d o m 和核心组件。 c 盯u i 是核心u i 、视图、编辑器和向导。 c d t 启动为诸如编译器和调试器之类的外部工具提供了启动机制。 c d t 调试核心提供了调试功能。 c d t 调试u i 为c d t 调试编辑器、视图和向导提供了用户界面。 c d t 调试m i 是用于与m i 兼容的调试器的应用程序连接器。 2 ) 安装和运行c d t 7 成都理工大学硕士学位论文 在下载和安装c d t 之前,首先必需确保g n u c 编译器以及所有附带的工具 ( m a k e 、b i n u t i l 和g d b ) 都可用。 下载c d t 二进制文件或源代码包。将归档文件解压到临时目录中,从l f 每时目 录将所有插件目录内容都移到e c l i p s e p l u g i n s 子目录。还需要将f e a t u r e s 目录 内容移到e c l i p s e f e a t u r e s 子目录中。e c l i p s e 启动后在e c l i p s e 的工程中会增 加两个新项目:c 和c + + 。 自动生成m a k e f i l e 的流程( 图2 4 ) 。 图2 4 自动生成m a k e f il e 流程图 3 ) 交叉编译器 l i n u x 默认的编译器是g c c ,但是在m i p s 系统中不能识别这种格式,置交叉 编译器,配置交叉编译器的界面( 图2 5 ) 。 第2 章视频服务系统软硬件结构 图2 - - 5 交叉编译器配置界面图 4 ) 创建新项目 配置好c d t 之后,选择f i l e 一 n e w 一 p r o j e c t ,选择“s t a n d a r dm a k ec + + p r o j e c t ”开始,项目创建源代码文件。在c c + + p r o j e c t s 视图中,单击鼠标右 键,然后选择n e w 一 s i m p l e f i l e 创建新文件。 m a k e f i l e ,g n u m a k e 将使用它来构建二进制文件。在m a k e f i l e 中指定交叉 编译器。 5 ) 构建项目 d t 依赖于三个g n u 工具:6 c c 、g d b 和m a k e 。用于调试的g d b 或用于编译的 6 c c 和m a k e 依赖要求这些应用程序可用于用户希望使用的平台。大多数l i n u x 源代码软件包使用a u t o c o n f 脚本来检查构建环境,通过运行c o n f i g u r e 命令来 创建m a k e f i l e 文件。c d t 没有提供编辑a u t o c o n f 脚本的方法,所以必需手工编 写它们。 6 ) 运行项目 编译成功后,不能直接运行这个可执行程序,这种交叉编译的程序在p c 上 不能识别的二进制的格式。因此不能使用它的调试工具,需要把程序下载到开发 板上,采用远程调试工具来调试或者使用仿真器来调试。 7 ) 调试项目 9 成都理工大学硕士学位论文 在嵌入式系统开发中,调试工具是一个非常重要但是又是一件非常困难的事 情,尤其是调试内核和b o o t l o a d e r 部分。除了商业的软件外,最常用的就是开 源软件调试和最有用的就是采用d b 和g d b s e r v e r 这个工具,同时需要将g d b 和 g d b s e r v e r 这个工具交叉编译为目标平台的执行格式。在调试的时候一般采用 n f s 文件系统将目标文件放到p c 机上,在目标平台上运行g d b s e r v e r ,在p c 上 运行g d b ,调试的格式如下: 在目标平台上运行g d b s e r v e r : t a r g e t g d b s e r v e r1 9 2 1 6 8 0 7 :1 2 3 4i m g 在p c 机上上运行g d b : g d bi m g f i l ei m g t a r g e tr e m o v e1 0 0 0 1 0 0 :1 2 3 4 在e c l i p s e 中配置交叉调试工具( 图2 6 ) 图2 6 交叉调试配置图 需要添加目标系统和源系统的i p 地址( 利用网络进行交叉调试) ,同时也可 以利用串口进行交叉调试,在e c l i p s e 中设置目标机的i p 和源i p ( 图2 7 ) 。 1 0 第2 章视频服务系统软硬件结构 图2 7 设置i p 地址图 设置好后就可以利用e c l i p s e 与g d b s e r v e r 进行远程的交叉调试。如果需要 调试内核和驱动程序,还需要其他的调试工具。常用是k g d b 内核调试工具。 成都理工大学硕士学位论文 第3 章系统移植 3 1u c i n u x 系统简介 u c l i n u x 是m i c r o c o n t r o l - l i n u x 的缩写,它是目前嵌入式l i n u x 中最流行 的一种,是美国l i n e 公司的主打产品。u c li n u x 针对目标处理器没有存储管理 单元( 涮u ) 的嵌入式系统设计;它继承了标准l i n u x 的许多优良特性,源代码开 放、稳定,高度模块化、可扩展、移植性好;具有完整的t c p i p 协议栈和大量 的其他协议,提供标准丰富的a p i 函数,以库函数的形式提供给用户调用;提供 绝大多数设备驱动程序,能够有效管理越来越复杂的系统资源,使得开发人员从 繁重的驱动程序移植和维护中解脱出来。 3 1 1 u c l n u x 特点 一 u c l i n u x 作了许多小型化的改造。具有高度优化、代码紧凑和定制等特点。 开发者按需配置,以最小的代码量满足嵌入式系统的需求,其编译后生成的目标 文件可控制在几百k b 的数量级。这使得与l i n u x 同标准的内核相比非常之小。 支持各种文件系统。包括n f s 、e x t 2 、r o m f s 、j f f s 、m s d o s 、f a t l 6 3 2 等。 采用r o m f s 文件系统作为r o o t 文件系统,这种文件系统相对于一般的e x t 2 文件 系统要求更少的空间,并且相对简单,建立文件系统s u p e r b l o c k 需要更少的存 储空间。r o m f s 文件系统不支持动态擦写,对于系统需要动态保存的数据采用r a m 盘的方法处理,r a m 盘采用e x t 2 文件系统。 重写库u c l i b c 。l i n u x 使用的是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 已经在通信、家庭网关、信息家电等多个领域中成功应用。 由于u c l i n u x 以上的优点,本系统采用u c l i n u x 作为嵌入式操作系统。 u c l i n u x 操作系统主要由三个基本部分组成:引导启动程序( b o o t l o a d e r ) 、 u c l i n u x 内核、硬件设备驱动程序。 1 2 第3 章系统移植 引导启动程序。引导启动程序( b o o t l o a d e r ) 处于系统的地址o x o 处,是每 次上电后首先执行的一段程序,进行系统初始化和引导系统。b o o t l o a d e r 识别 出操作系统存放在哪个系统分区中,将内核映象从f l a s h 上读到r a m 中,然后转 入到内核入口点,把控制权交给操作系统,并开始运行。不同的c p u 体系结构需 要使用不同的b o o t l o a d e r 。b o o t l o a d e r 只需要进行简单的硬件的配置,将固定 的数字复制到硬件寄存器中,但这些数要根据硬件决定,与硬件相符并且按照特 定的顺序进行。具备b o o t l o a d e r 是进行u c l i n u x 移植的前提条件。 u c l i n u x 内核。u c l i n u x 的内核主要由四个基本部分组成:内存管理、进程 管理、进程间通信和中断处理。 设备驱动程序。设备驱动程序是操作系统内核和硬件之间的接口,属于内核 的一部分。多数设备驱动程序可以在内核模块发出加载请求时加载,不使用的时 候将其卸载,使内核有效地利用系统资源。u c l i n u x 本身已经具有一些设备驱动。 如果某些设备在u c l i n u x 中没有设备驱动,由于u c l i n u x 开放源码的特性,可以 把自己编写的驱动程序加入内核。设备驱动程序完成对设备初始化、把数据从内 核传送到硬件、从硬件读取数据、读取应用程序传送给设备文件的数据和回送应 用程序请求的数据、检测和处理设备出现的错误、最后释放设备等一系列功能。 设备驱动程序为应用程序遮挡了硬件的细节,用户进程通过设备文件与实际的硬 件打交道。 3 1 2l i n u x - 2 6 特点 在2 6 的内核中具有在2 4 内核中不具备的很多特性。在2 6 的内核中很多 的新特性可以拿来直接的使用,如对大容量n a n d f l a s h 的支持,对n o r f l a s h 的 支持等。 小规模嵌入式系统l i n u x 。l i n u x2 6 扩展多平台支持的一个主要途径就 是把u c l i n u x 的大部并入了主流内核( m a i n s t r e a mk e r n e l ) 。u c l i n u x 是将l i n u x 应用在微控制器平台的项目。多年来,这个l i n u x 分支为许多嵌入式芯片提供了 支持。l i n u x2 6 增加了对m i p s 处理器的支持。 可抢占。l i n u x2 6 内核允许自身在执行任务时被打断,这样用户任务可以 继续运行。通过使用一个程序去指定一个等待的任务比其他的更重要,它带来了 可能是一个应用的时序一关键区域更佳的响应性。这个特性在嵌入式准实时系统 1 3 成都理工大学硕士学位论文 中具有很重要的作用。 i o 子系统。l i n u x 的i o 子系统也经历的很大的修改,使得它在各种工作 负荷下都更具响应性。这个变化包括i o 调度子系统一决定何时、哪一进程去 读一个设备的内核代码的完全重写。重写的i o 层可以更好地保证没有进程过 长时间地停留在i o 等待上,同时不排斥以前的优化工作使得读等请求以最有 效的次序操作硬件的优化工作。 稳定性。l i n u x2 6 还解决了一个更为深刻的稳定性问题。内核将不会分配 多于系统中r a m ( 加s w a p ) 数量的内存。此前,l i n u x 在一些即使系统内存耗 尽的情况下,仍然允许m a l l o c 操作分配内存成功。过量分配( o v e r c o m i t m e n t ) 逻辑得到修改。内核内部的大改变之一就是l i n u x 的线程框架被重写,以使n p t l ( n a t i v ep o s i xt h r e a dl i b r a r y ) 可以运行于其上。对于运行负荷繁重的线程 应用的p e n t i u mp r o 以及更先进的处理器而言,这是一个主要的性能提升;它 也是企业级应用中的很多高端系统一直以来所期待的。线程框架的改变包含 l i n u x 线程空间中的许多新的概念,包括线程组、线程各自的本地存储区、p o s i x 风格信号以及其他改变。 核心硬件支持。在l i n u x 2 6 ,不被l i n u x 支持的设备已经相当少了。p c 机 上的主流硬件没被支持的很少。正是由于这个原因,多数( 显然不是所有) 关于 硬件支持方面的改进( 包括上面所说的设备模型) 围绕对已有支持的加强。 多媒体。支持很多硬件,比如网络摄像机、广播及电视适配器、数字视频录 制器等。l i n u x 在2 6 版本中对以上三者的支持都有所提升。这些特性在视频 处理中尤其重要。l i n u x 对广播卡的支持新版本的内核开发中得到了重大更新, 包括a p i 的清理工作以及对设备更多功能的支持。作为一个全新的领域,l i n u x 2 6 首次包含对d v b ( d i g i t a lv i d e ob r o a d c a s t i n g ,数字视频广播) 硬件的支 持。这种硬件常见于机顼盒,它可以使得l i n u x 服务器通过适当的软件变为一 台t i v o ( 类似机顶盒的设备) 。在软件方面,l i n u x 的一个重要改进是提供了对 i p s e c 协议的支持。由于安全是在协议层提供的,对应用层是透明的。在协议方 面,l i n u x 还加强了对多播网络的支持。网络多播使得由一点发出的数据包可以 被多台计算机接收( 传统的点对点网络每次只能有两方通信) 。这一功能主要被 即时通讯系统( 如t i b c o ) 以及音频视频会议软件使用。l i n u x2 6 现在支持 若干新的s s m 协议( 定源多播) ,包括m l d v 2 ( m u l t i c a s tl i s t n e rd i s c o v e r y 多 1 4 第3 章系统移植 播侦听发现) 协议以及i g m p v 3 ( i n t e r n e t 组管理协议) 协议。l i n u x2 6 也提 供了一个分离的l l c 栈。l l c ,即逻辑链路控制协议( i e e e8 0 2 2 ) ,是一个底 层协议,在若干个常用的高层网络协议之下使用。 3 2 嵌入式b o o t l o a d e r 一个嵌入式l i n u x 系统从软件的角度看通常可以分为四个层次。 1 ) 引导加载程序。包括固化在固件( f i r m w a r e ) 中的b o o t 代码( 可选) ,和 b o o t l o a d e r 两大部分。 2 ) l i n u x 内核。特定于嵌入式板子的定制内核以及内核的启动参数。 3 ) 文件系统。包括根文件系统和建立于f l a s h 内存设备之上文件系统。 通常用r a m d i s k 做r o o t f s 。 4 ) 用户应用程序。特定于用户的应用程序。 引导加载程序是系统加电后运行的第一段代码。b o o t l o a d e r 的主要任务初 始化硬件设备、建立内存空间的映射图,将内核映象从f l a s h 上读到r a m 中,然 后跳转到内核的入口点去运行。而在嵌入式系统中,整个系统的加载启动任务就 完全由b o o t l o a d e r 来完成。 固态存储设备的典型空间分配结构( 图3 - 1 ) 图3 - - 1 存储空间分布图 从固态存储设备上启动的b o o t l o a d e r 大多可分为2 部分,也即启动过程可 以分为s t a g e l 和s t a g e 2 两部分。依赖于c p u 体系结构的代码,比如设备初始化 代码等,通常都放在s t a g e l 中,用汇编语言来实现,以达到短小精悍的目的。 s t a g e 2 则通常用c 语言来实现,实现复杂的功能,而且代码具有更好的可读性 和可移植性。 1 ) b o o t l o a d e r 的s t a g e l 一般包括以下步骤 硬件设备初始化。 为加载b o o t l o a d e r 的s t a g e 2 准备r a m 空间。 1 5 成都理工大学硕士学位论文 拷贝b o o t l o a d e r 的s t a g e 到r a m 空间中。 设置好堆栈。 跳转到s t a g e 2 的c 入口点。 2 ) b o o t l o a d e r 的s t a g e 2 包括以下步骤 初始化本阶段要使用到的硬件设备。 检测系统内存映射( m e m o r ym a p ) 。 将k e r n e l 映像和根文件系统映像从f l a s h 上读到r a m 空间中。 内核设置启动参数。 调用内核。 3 ) a d m 5 1 2 0 的b o o t l o a d e r 的编译与存储映射 ( 1 ) 修改m a k e f i l e 中的一些参数 b y t e _ o r d e r = l i t t l e _ _ e n d i a n b o a r dn o rf l a s h _ s i z e = o x 4 0 0 0 0 0 ( 2 ) 修改i n e l u d e m e m d e v h ”中s d r a m 的大小 ( 3 ) m a k e ( 4 ) 用编程器将生成的映像烧写到n o r f l a s h 中 ( 5 ) l o a d e r 的功能: 更新内核( v m l i n u z ) 启动内核v m l i n u z ) 4 ) a d m 5 1 2 0 的b o o t l o a d e r 启动与映射 n o r f l a s h 映射表( 图3 2 ) b o o t l o a d e r ( 3 2 k ) b o o t p a r a m e t e r s ( 3 2 k ) f l a s h f i l e s y s t e m ( 3 2 k ) w n l i n u x ( 3 9 6 8 k ) 图3 2n

温馨提示

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

评论

0/150

提交评论