




已阅读5页,还剩58页未读, 继续免费阅读
(检测技术与自动化装置专业论文)基于armlinux的流媒体网络广播平台设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 论文的工作是基于“流媒体网络广播系统”项目。在调研和消化多套国内外 相关实验平台系统的基础上,研究开发了基于a r m 9 处理器和嵌入式l i n u x 操作 系统的多功能实时计算机处理系统,并且根据实际需要构建了此系统的软硬件平 台。流媒体网络广播系统是当前i t 领域比较热门的前沿技术,正是因为这前沿 技术使得实际构建出的系统功能强大、体积小、成本低、具有相当强的可扩展性, 完全能够取代当前传统广播系统中广泛采用的模拟信号传输方式,同时也更好解 决了以往这种结构带来的价格昂贵、体积庞大、系统利用率低等诸多劣势。 本文设计开发了基于a m r l i n u x 的流媒体网络广播平台,该系统基于s a m s u m g $ 3 c 2 4 1 0 处理器。采用嵌入式a r m - l i n u x 操作系统,通过h t t p 协议传输流媒体, 利用m p 3 标准实现对音频的解码,从而支持流媒体网络广播功能。本论文设计了 系统的软件部分,包括底层软件b o o t l o a d e r 、a r m - l i n u x 操作系统、根文件系统、 网卡的驱动程序等并提出了下一步工作的建议和设想。 基于a p m i - l i n u x 系统的软件设计方法是本论文的重点和难点,也是论文的核 心内容。流媒体网络广播系统已经经过测试,实际的应用效果表明该系统是可行 的也是可靠的,同传统的广播系统相比,体现出了明显的优势。 关键词:网络广播;流媒体:嵌入式系统;$ 3 c 2 4 1 0 ;a r m l i n u x 移植 a b s t r a c t t h ep a p e ri sb a s e do nt h ep r o j e c to fs t r e a m i n gm e d i an e t w o r kb r o a d c a s t s y s t e m a f t e ri n v e s t i g a t ea n dr e s e a r c hd o m e s t i ca n do v e r s e a sr e l e v a n t e x p e r i m e n t sp l a t f o r m s ,am u l t i f u n c t i o n a la n dr e a l t i m ec o m p u t e rs y s t e m b a s e do na r m 9c o r ea n de m b e d d e dl i n u xo si se s t a b l i s h e d a tp r e s e n t , s t r e a m i n gm e d i an e t w o r kb r o a d c a s ts y s t e mi sm a j o ri td o m a i n s a n di tm a k e s t h ea c t u a le q u i p m e n tw i t hal o to fa d v a n t a g e ss u c ha sp o w e r f u lf u n c t i o n , s m a l ls i z e ,l o wc o s ta n ds t r o n ge x p a n s i b i l i t y a n di tc a nc o m p l e t e l y r e p l a c et h et r a d i t i o n b r o a d c a s ts y s t e mw h i c hi sb a s e do nt h et r a n s m i tm o d e o fs i m u l a t i o ns i g n a l t h ed e s i g no ft h i sp a p e ri sb a s e do nt h es t r e a m i n gm e d i an e t w o r k b r o a d c a s tp l a t f o r mw i t ha r m l i n u xo s b a s eo ns a m s u m g $ 3 c 2 4 1 0p r o c e s s o r a n de m b e d d e da r m l i n u x t h es y s t e mb r o a d c a s ts t r e a m i n gm e d i aw i t hh t t p p r o t o c 0 1 t h es o f t w a r es y s t e mi n t e g r a t e sb o o t l o a d e r ,a r m l i n u xo s ,r o o t f i l e s y s t e m ,t h ed r i v e ro fn e t w o r kc a r d f i n a l l y ,a n dt h es u g g e s t i o n sa n d e x p e c t a t i o n sa r eg i v e n t h ed e s i g n so ft h es o f t w a r ea n dh a r d w a r ei nt h ea r m l i n u xs y s t e ma r e m o s ti m p o r t a n ta n dd i f f i c u l ti nt h i sp a p e r t h et e s t i n gr e s u l to ft h ef i n a l s y s t e mi m p l e m e n t e di n d i c a t e st h a tt h ee x p e r i e n c ea n dm e t h o da r er e li a b l e a n dp r a c t i c a l ,a n dt h es y s t e mi sw i t hal o to fa d v a n t a g e sc o m p a r e dw i t h t r a d i t i o nb r o a d c a s ts y s t e m k e y w o r d :n e t w o r kb r o a d c a s t :s t r e a m i n gm e d i a ;e m b e d d e ds y s t e m ;$ 3 c 2 4 1 0 a r m l i n u xe x p l a n t 独创性声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师的指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以 标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,不包 含本人或其他用途使用过的成果。与我一同工作的同志对本研究所做的任何贡献 均已在论文中作了明确的说明,并表示了谢意。 本学位论文成果是本人在广东工业大学读书期间在导师的指导下取得的,论 文成果归广东工业大学所有。 申请学位论文与资料若有不实之处,本人承担一切相关责任,特此声明。 指导教师签字: 论文作者签字: 2 0 0 7 年5 月1 0 日 彳嘶稃 庞弋铸 第一章绪论 1 1 研究背景 第一章绪论 近年来,随着网络技术的迅猛发展,基于i p 的网络正显示了强大的优势。 i p 网络技术的成熟及表现出来的诸多优势,在未来的智能建筑中,i p 技术将处 于主导的核心地位。因此,开发基于i p 网络的广播系统,充分利用其综合布线、 多协议共容的特点,发挥数字化、网络化、智能化的优势是目前和将来一段时间 内的趋势。嵌入式i n t e r n e t 接入技术就是i p 网络技术中的一项新兴概念和技术, 它是指将嵌入式设备通过不同方法接入i n t e r n e t ,以i n t e r n e t 为介质实现信息 交互过程。如何将嵌入式i n t e r n e t 接入技术应用于智能建筑中的广播系统,实 现以i p 为基础的联网及e b 服务等网络功能,是目前国内外开发的一个热点。 i t 羽 目前,广播系统普遍采用模拟信号经功放放大后进行传输,用音频矩阵切换 器来进行控制。在应用中有几个缺点:( 1 ) 必须独立敷设专用的音频线路,尚无 通用的可遵循的标准。( 2 ) 布线缺乏灵活性,无法通过简单的管理设备改变线路 的功能。( 3 ) 同一总线内的广播信息完全相同,无法实现动态分组广播或单点广 播。( 4 ) 对重复信息、文本信息、邮件信息的处理均需有播音员的人工介入,智 能程度差。( 5 ) 由于采用单向传输方式,系统的调试和维护需人工逐个进行。m 与传统方式相比,采用基于网络传输的广播系统具有以下特点:( 1 ) 以太网 在传输音频信号的同时,还可同时传输控制信号,从而对系统的分组模式和重复 信息、文本信息、邮件信息等进j 亍智能化管理。( 2 ) 安装、维护便捷。( 3 ) 以太网 系统的综合布线技术、传输模式和传输协议均有可遵循的国际标准,从而保证了 系统的可靠性、灵活性、兼容性和可扩展性。( 4 ) 低成本。嘲 基于i p 网络传输的广播系统可方便地应用于已建成的以太网系统中,可采 用成熟的综合布线技术和网络传输设备,便于扩展和管理,智能性较强,能动态 分组或单点广播,是一种新型的智能有线广播系统。 1 2 研究现状 权威机构尼尔逊( n i e l s e n n e t r a t i n g s ) 发布的统计信息表明:流媒体的需求 增长是必然的。并且在不久的将来,各个服务提供商将运用各种各样的高新技术 来满足网络用户日益挑剔的要求。统计信息也指出,流式媒体将成为驱动下一波 互联网成长的重要力量。因此,该机构推断,网络流媒体在2 0 0 4 年仅美国就达 到2 1 0 亿美金的市场规模,比1 9 9 9 年增长超过两倍。”1 随着市场的不断成熟和 用户群的不断扩大,各大相关厂商也不失时机地推出了各自的商用软件系统,例 如m i c r o s o f t 公司为了在流媒体领域称雄而着力推广自己的w i n d o w sm e d i a s e r v e r p l a y e r 系统,而r e a l n e t w o r k s 公司则发布了一项调查报告表明: r e a l p l a y e r 的下载数量已经是a p p l e 公司的q u i c k t i m e 的4 倍,是m i c r o s o f t 公司w i n d o w sm e d i ap l a y e r 的1 0 倍,借此数据表明其产品在市场上的所占有的 绝对份额。”1 各大公司的激烈竞争也从侧面说明了网络流媒体技术的发展j 下处于 方兴未艾的高速发展时期。它们的主打商用系统都以播放器的使用频度作为其市 场占有率的重要参考依据,也说明了流媒体播放器作为流媒体系统的重要组成部 分是不可或缺的。现在各大厂商所主推的播放器从技术上来说各有千秋: r e a l n e t w o r k s 专注于智能流技术的推广,a p p l e 公司则秉承了其在图形图象上的 技术优势着力于视频解码器技术的不断发展,而m i c r o s o f t 则试图采用与 w i n d o w s 操作系统捆绑的方法来扩大自己的用户群。叫”1 实时流( r e a lt i m es t r e a m i n g ) 传输和顺序流传输( p r o g r e s s i v es t r e a m i n g ) 传输。一般来说,如使用h t t p 服务器,文件即通过顺序流发送,即为顺序流传 输;如视频为实时广播,或使用流传输媒体服务器,或应用实时协议,即为实 时流传输。 目前典型的媒体播放器要执行包括解压缩、消除抖动、错误纠j 下和用户播放 等许多功能。当然最重要的还是解压缩和用户播放功能。现在,播放器可以用很 多种方式来读取多媒体文件( 主要分为本地播放以及网络播放两大类) ,下面是应 用于网络的三种流媒体服务播放方式: 1 通过w e b 浏览器把音频视频文件从w e b 服务器传送给媒体播放器,如图 卜1 所示: 2 第一章绪论 不: 图卜1 流媒体播放方式一 f i g 1 1t h ef i r s tm e t h o do fs t r e a m i n gm e d i ab r o a d c a s t 2 。直接把音频视频文件从w e b 服务器传送到媒体播放器,如图卜2 所示: 图卜2 流媒体播放方式二 f i g 1 2t h es e c o n dm e t h o do fs t r e a m i n gm e d i ab r o a d c a s t 3 直接把多媒体文件从多媒体流放服务器传送给媒体播放器,如图1 - 3 所 图卜3 流媒体播放方式三 f i g i 一3t h et h i r dm e t h o do fs t r e a m i n gm e d i ab r o a d c a s t 传统的通信平台和存储机制对于连续媒体数据的录制、播放、传送和访问难 以满足其实时性、等时性和高吞吐量的要求,为此就需要有高速的网络技术、新 型协议、新型存储和检索机制以及合理的同步和调度策略对其进行高效的访问支 持。 3 广东t 业大学碗 :学位论文 针对网络上传输多媒体实时数据,电信业和计算机业许多国际组织正积极从 事该应用的技术标准化工作,其中比较有影响的组织有i t u _ t 、i e t f 和 i m t c ( i n t e r n a t i o n a lm u l t i m e d i at e l e c o m m u n i c a t i o nc o n s o r t i u m 国际多媒体 电讯联盟) 等。而现在较为关键的协议包括r t p ( 实时传输协议) 、r t c p ( 实时传输 控制协议) 、r s v p ( 资源预留协议) 、r t s p ( 实时流协议) 和i p v 6 等。“”m 1 1 3 论文工作目标及意义 随着当今互联网宽带技术和多媒体信息技术的飞速发展,网络多媒体应用已 经成为i n t e r n e t 应用的重要内容,其中随着音视频文件压缩技术和流媒体技术 的发展以及发布手段的丰富,支持网络点播技术的流媒体播放器的开发越来越引 起各方面的注意,并已成为热门研究领域。 本文基于“流媒体网络广播系统”的项目。该方案在硬件上采用三星公司的 $ 3 c 2 4 1 0 处理器,以嵌入式l i n u x 作为操作系统,提供了网络广播的基本开发平 台。该方案的主要特点是性能出色,成本低廉,克服了传统广播系统解决方案的 不足之处。流媒体网络广播系统是专为公共场所提供个性化广播专业设备。广泛 应用于学校、办公区、工厂等文化信息传播频繁的地方。流媒体网络广播系统采 音频软解码技术,以局域网为媒介,采用全数字化的i p 语音传输技术,直接将 硬盘的音频文件或麦克风输入语音通过局域网传输至网络广播终端解码器。真正 实现广播、计算机网络的多网合一。i p 地址可自由设置,具备跨网关,跨路由, 适应不同的网络环境。无区域限制,远距离传输音频文件,传输损耗极小,达到 高保真c d 音质。 与p c 机比较,嵌入式系统具有体积小、成本低、可靠性高、稳定性好、功 耗低等优点,更符合流媒体网络广播终端解码器的性能要求;而嵌入式l i n u x 由 于具有开放源代码、系统内核小、内核网络结构完整等突出优点,成为嵌入式操 作系统非常不错的选择。论文在嵌入式技术迅猛发展的背景下,以研究与设计基 于高性能3 2 位嵌入式a r m 9 处理器及嵌入式l i n u x 操作系统的流媒体网络广播系 统为目标,围绕着如何实现a r m l i n u x 流媒体网络广播终端解码器的一些关键技 术展开研究与论述,具体而言,论文完成了如下工作: 1 ) 流媒体系统方案的论述,以及课题研究的意义。 4 第一章绪论 2 ) 流媒体传输协议的分析。流媒体网络广播终端解码器采用数字音频软解 码技术,以i p 网络为媒介,以流媒体音频传输技术,完全符合t c p i p 协议规范, 标准网络设备,标准布线,是真正意义上的纯数字化网络广播。 3 ) l i n u x 内核在嵌入式平台上的移植与实现。论文详细论述了l i n u x 内核 在a r m 9 平台上的移植与实现,其中包括对b o o t l o a d e r 设计与移植、r o o t f i l e s y s t e m 的设计与移植。 4 ) 网卡驱动程序的设计与移植。 5 广东t 业大学硕十学位论文 第二章系统设计方案 “流媒体网络广播系统”项目的分为三个主要部分:流媒体网络广播服务器 的搭建、流媒体网络广播终端平台的建立、流媒体数字语音信号的解码播放软件 的设计。 我的负责的部分是流媒体网络广播终端平台的建立。通过对课题的研究对象 特征进行深入分析,提出基于a r m - l i n u x 的流媒体网络广播平台的系统设计方 案,结合网络广播实际,列举了系统设计的功能和主要技术指标;本章还着重分 析了本系统设计中的关键技术,提出了若干关键性问题,这些问题在系统具体实 现时需要重点解决。 2 1 流媒体网络广播系统总体设计方案 流媒体网络广播系统系统是基于流媒体技术,总体思路是:首先,多媒体发 布服务器把声卡的声音来源( 如:l i n e - i n 、麦克风或是计算机上j 下在播放的音 乐) 转成串流数据,然后,把串流数据通过以太网发送到流媒体广播服务器,流 媒体广播服务器将接收到的串流数据以m p 3 串流格式进行广播,广播信号通过以 太网进行传输,最后,流媒体网络广播终端接收m p 3 串流格式数据,通过解码后, 进行播放。不同的多媒体发布服务器,可以提供不同的音频源;不同的流媒体广 播终端可以选择地接收不同的多媒体发布服务器发布的音频源进行广播。系统的 总体原理图如图2 一l 所示: 6 第二章系统设计方案 潍媒体 广播服务嚣 流蠛体 图2 一l 流媒体网络广播系统总体原理图 f i g 2 - 1t h ep r i n c i p l ef i g u r eo fs t r e a m i n gm e d i an e t w o r kb r o a d c a s t 在实际的实现设计过程中,为了调试的方便,我们把多媒体发布服务器和流 媒体广播服务器共同搭建在一个电脑主机服务器上,进行网络广播。我们把多媒 体发布软件作为流媒体服务器软件的一个源端,为流媒体服务器软件提供音频 流。实验系统的原理图,如图2 2 所示。 流媒体网络广播服务器 多 流媒体网络广播终端 媒 l i n e i n 卜、体 流媒 发+ 体服卜 朽 务器 以太网: 接解播 r 荔砜 软 软件 收 码 放 y 件 t 播放中的音乐j 图2 2 流媒体广播系统实验原理图 f i g 2 - 2e x p e r i m e n tp r i n c i p l ef i g u r eo fs t r e a m i n gm e d i ab r o a d c a s t 2 2 流媒体网络广播系统实现的功能及特点 流媒体网络广播系统,彻底解决长距离带来的集中控制和音源传输的问题。 广东t 业大学硕卜学位论文 数字化广播终端为软解码技,高采样率,传输损耗极小。音质为高保真c d 音质。 以局域网为媒介,采用全数字化的i p 语音传输技术,传输不受区域限制。播放 音乐时,可以调节其音量;实现可寻址到点控制。可多套节目同时播放,实现网 络上有任意多个终端就可同时广播任意多个不同的节目。工作站声卡实时采播卡 座、c d 机、调谐器、话筒等模拟音频信号,实现外设音源播放和实时寻呼,发 布通知。 流媒体网络广播系统实现以下功能: 真正的数字化网络广播:采用数字音频软解码技术,以i p 网络为媒介, 以流媒体音频传输技术,完全符合t c p i p 协议规范,标准网络设备,标准布线, 是真正意义上的纯数字化网络广播。 多节目同时广播:基于i p 网络的节目传送,每个广播终端都有独立的i p 地址,每个广播点都可以有各自独立的广播节目,可多套节目同时播放,实现网 络上有任意多个终端就可同时广播任意多个不同的节目。进行个性化广播,可以 根据小区区域划分,为每个区域播放个性化的节目。 广播终端任意分组:每个网络广播终端带独立的i p 地址,可任意分组广 播,分别可对单点、一组、多组及全区进行广播。 远程播放控制:通过控制软件可远程控制网络终端控制器的播放节目,调 节其音量;实现可寻址到点控制,并能够远程维护、管理等。网络化的管理,还 可以对不同的用户设置不同的权限。 多媒体发布服务器:在网络的任意一台电脑安装了客户端软件经授权可对 网络广播系统进行多媒体语音信号发布,对广播终端进行控制及播放本机节目内 容。实现广播分控,广播节目插播,网上远程讲话等。 2 3 基于a r m - l i n u x 的流媒体网络广播平台的设计方案 图2 3 给出了构建流媒体网络广播终端的体系结构图,在硬件的选择上,使 用消费类电子领域比较常用的a r m 处理器,因为采用r i s c 结构的a r m 微处理器 一般具有体积小、低功耗、低成本、高性能等特点,非常适用于便携式产品。在 系统的软件的选择上,由于本系统需要并行实现流媒体数掘的接收以及解码,并 且由于播放终端的网络连接性,需要支持t c p i p ,h t t p 等多种网络传输协议,因 8 此在完成整个应用系统之前必须有稳定的操作系统的支持,在操作系统运行稳定 之后,再在此之上创建整个应用程序。再操作系统的选择上,本系统选用再嵌入 式领域应用前景看好的嵌入式l i n u x 操作系统,因为它是一个多用户、多人物操 作系统,支持分时处理和软实时处理,提供了先进的网络支持,内置t c p i p 协 议,并且具有开源、可裁减等特性,完成可以根据用户特点的需求进行重新定制。 “”“”在传输协议的选择方面,本系统采用h t t p 传输协议进行流媒体数据的传输, 控制流媒体数据的播放、暂停、结束等操作。系统主要实现了在s a m s u n g $ 3 c 2 4 1 0 嵌入式平台上完成b o o t l o a d e r 移植、a r m - l i n u x 系统移植、文件系统的建立、 网卡驱动程序的篇写与移植等功能。主要解决了h t t p 数据流的获取与解析以及 流媒体网络广播终端与流媒体服务器之间的通讯问题。 l 肌p 徽h 唧m 啷p 3 r h 紫d e v f b * 】 尊冀 i系统调用接口 i网卡驱动 网络协议 i ( t c p ,i p ) 文件系统 尊 i体系结构的相关代码( b o o t l 。a d e r ) is 3 c 2 4 l 。( 含m m u ) 图2 3 流媒体网络广播终端体系结构图 f i g 2 - 3s t r u c t u r ef i g u r eo fs t r e a m i n gn e t w o r kb r o a d c a s tt e r m i n a l 9 第三章流媒体传输协议 3 1 流媒体传输协议工作流程 目前,随着流媒体资源在网络上的流行和发布,h t t p 除了用于传输一般的 h t m l 文件之外,还可以用来传输多媒体内容,而且目前很多应用的音频数据传 输都是通过h t t p 进行的。流媒体网络广播中通过输入相应的u r l ,与流媒体服 务器建立连接,请求传输流媒体,服务器随之响应请求,与客户端应用建立连接 发送数据流。接着,对获取的数据进行解析,对音频数据实现m p 3 的解码。最后 将解码后的数据送到音频输出模块,通过相应的音频设备实现播放输出。流媒体 数据流在系统中的流向如图3 - 1 所示: 播放器输入服务器u r l 向服务器发出请求 播放器与流媒体服务器建 立连接,请求传输 服务器响廊与客广端建立 连接传输流媒体数据 解码后数据发甭 音频输出模块 分配缓冲区,对音频数据 进行解伫5 获取数据,解析数据信息 图3 - 1 流媒体数据流向图 f i g 3 - lf l o wf i g u r eo fs t r e a m i n gm e d i ad a t a 在流媒体网络广播系统中,流媒体播放器软件主要是围绕h t t p 协议解析和 数据流来设计和实现的,系统的主要流程如图3 2 所示:“”“” 1 0 第三章流媒体传输协议 图3 - 2 系统主要流程图 f i g 3 - 2m a i nf l o wf i g u r eo fs y s t e m 广东t 业大学硕p 学位论文 从程序流程图可以看出,软件采用多线程的结构来实现,数据的获取、解析、 解码、输出都是通过创建线程来实现的,多线程的实现最主要的是要解决线程间 通信的问题,在系统的设计中我们采用了全局变量1 i b m p _ t 结构体来实现线程问 的通信,对其中涉及线程问通信的变量用互斥实现线程的同步。l i b m p t 结构体 的定义如下所示: 全局对象定义,此结构体在主线程中静态定义,它保存已初始化数据木 s t r u c t1 i b m p _ t m p _ c o m m o m _ m e m b e r s 胁是否初始化完成标志木 m p _ b o o l t br e a d y : * c p u 能力 u i n t 3 2 _ ti _ c p u : 木通用设置 i n tiv e r b o s e :胁打印信息的详细等级 i n tic o n u n t e r : $ 所有创建的对象计算器 m p _ o b j e c t t 术+ p po b j e c t s : a 所有对象数组$ a 消息队n * m s g _ b a n k t m s g b a n k : 木模块组木 m o d u l e _ b a n k _ t * p _ m o d u l e b a n k : ) 此外,流媒体网络广播终端在数据流传输的各个阶段,都创建了不同的对象 来管理和控制数据在各个模块之丑j 的交互,软件设计了一个总的对象结构体作为 软件各个模块中所有对象的父对象,该结构体的定义如下: s t r u c tm p t m p _ c o m m o n _ m e m b e r s 木全局属性 第三章流媒体传输协议 i n t i _ a r g c :肛命令行参数个数书 c h a r * * p p s z _ a r g v ;木命令行参数数组衫 c h a r * p s z _ h o m e d i r ;a 用户目录术 c h a r * p s z c o n f i g f i l e ;木配置文件位置母 木快速m e m c p y 模块搴 modulet乖pm e m c p y _ m o d u l e : v o i d * ( * p f _ m e m c p y ) ( v o i d 木,c o n s tv o i d * ,s i z e t ) : v o i d * ( * p f _ m e m s e t ) ( v o i d i n t ,s i z e _ t ) : * c o n f i g 文件的锁木 m p _ m u t e x tc o n f i g _ l o c k ; 木保存动作名字键值宰 s t r u c th o t k e y c o n s tc h a r * p s z _ a c t i o n : i n ti _ a c t i o n ; i n tl _ k e y : * p _ h o t k e y s : 对于软件中的所有对象( m p _ o b j e c t ) ,都要涉及对象建立、对象销毁和对象 绑定等基本操作,另外有一些对象还需要建立线程,因此为了实现程序开发的通 用性和可修改性,我们设计了流媒体网络广播终端一套基本的函数实现对象相关 的操作,这些程序在程序设计的过程中被频繁调用,最主要的函数设计如下所示: m p _ o b j e c t _ c r e a t e 程序描述: v o i d m p o b j e c t c r e a t e ( m p _ o b j e c t t 术p t h i s ,i n ti _ t y p e ) 功能:创建m p 对象。 输入项:pt h i s :父对象、i _ t y p e :对象类型。 m p _ o b j e c t _ a t t a c h 程序描述: v o i d _ m p _ o b j e c t _ a t t a c h ( m p _ o b j e c t t 宰p t h i s ,m p o b j e c t t * p _ p a r e n t ) 13 广东丁业大学颀卜学位论文 功能:将当前对象添加至父对象中,实现对象的关联。 输入项:p _ t h i s :当前对象、p _ p a r e n t :父对象 。m p _ t h r e a d c r e a t e 程序描述: i n t _ m p _ t h r e a d _ c r e a t e ( v l c _ o b j e c t t * p _ t h i s ,c h a r * p s z _ f i l e ,i n t i - 1 i n e , c h a r * p s z n a m e ,v o i d 】i c ( * f u n c ) ( v o i d 卑) , i n tip r i o r i t y ,v l c b o o l tb w a i t ) 功能:在当前对象中创建线程。 输入项:p _ t h i s :创建线程的对象、p s z f i l e :创建线程的文件名、i _ l i n e : 创建线程的代码行数、p s z _ n a m e :创建线程的名称、f u n c :线程调用的函数、 i _ p r i o r i t y :线程优先级、b _ w a i t :是否等待所创建线程的条件变量。 输出项:返回成功与否的状态值。 接口调用:p t h r e a d _ c r e a t e 3 2 流媒体数据的获取 在本系统中,流媒体数据的获取通过采用h t t p 协议的a c c e s s 模块来解析由 嵌入式广播终端传递的u r l ,请求建立网络连接实现数据流的传输。流媒体网络 广播终端根据主程序读取的命令检查到新的输入即创建新的i n p u t 线程,用于接 收流媒体数据。这一过程主要分为以下两部分进行讨论: 1 输入线程的创建。输入线程i n p u t 是播放器系统中非常重要的一个线程, 对每一个播放文件的数据获取、解析、数据缓存区的管理,以及向解码模块发送 的基本数据流e s 都是在这一线程中实现的。i n p u t 线程的软件设计流程图如图 3 - 3 所示:“” 1 4 图3 - 3i n p u t 线程流程图 f i g 3 - 3f l o wf i g u r eo fi n p u tp r o c e s s i n p u t 线程中创建了一个对于数据流传输非常重要的对象p i n p u t ,它是一 个i n p u t t h r e a d _ t 类型的结构体数据,保存了与输入节目数据后期获取、解析 和解码相关的所有对象和属性,包括输入的状态参数,数据的时间标志,输入数 据用于a c c e s s 的结构类型,以及向解码器发送的基本数据流结构。 2 调用a c c e s s 模块建立网络连接获取数据。a c c e s s 模块主要提供了用户 输入接口,模块化的设计使得a c c e s s 模块可以从本地文件或网络等多种途径获 取流媒体源。 在i n p u t 线程中分析i n p u t t h r e a d _ t 结构成员,通过对p s z _ a c c e s s 变量的 判断来调用m o d u l e _ n e e d 以加载合适的a c c e s s 模块,如果接收的流媒体网络流 类型,则加载网络模块,运行网络模块中的读函数p f _ r e a d 和打开函数。在本文 中主要讨论的是使用h t t p 模块来实现流媒体数据获取的过程。啪1 该部分软件设 计的主要流程图如图3 - 4 所示: 广东t 业人学硕十学位论文 图3 4a c c e s s 线程流程图 f i g 3 - 4f l o wf i g u r eo fa c c e s sp r o c e s s 从图中我们可以看到,本系统中我们使用h t t p 应用协议作为传输协议,在 客户端发起h t t pg e t 请求后,在广播终端和服务器之日j 进行数据包交换的示意。 具体过程如图3 5 所示。从图中可以看到由两个数据包携带了数据:一个是h t t p g e t 请求,另一个是h t t p 的响应。其他的都是h t t p 用来进行握手操作的数据包。 为了减轻服务器的负荷,经常采用定向机制。这样从服务器发来的重定向响应报 文是很短的数据包。“嘶1 1 6 第三章漉筷体传输协议 c l i n e n t 图3 _ 5 服务器与客户端通信连接流程图 f i g 3 - 5f l o wf i g u r eo fc o m m u n i c a t i n gb e t w e e ns e r v e ra n dc l i e n t 3 。3 流媒体数据的解码 流媒体数据的解码主要是针对e s 流数据进行解码,通过对e s 流格式的判断 来创建音频解码器,然后从f i f o 缓存区中取出数据,调用音频解码函数进行m p 3 解码,最后将解码后的数据存放在b u f f e r 缓存中。音频缓存与o u t p u t 线程共享, 用于存放音频数据。解码的主要流程图如图3 - 6 所示: 1 7 图3 - 6 流媒体音频数据解码流程图 f i g 3 - 6f l o wf i g u r eo fs t r e a m i n gm e i d ad a t ad e c o d e 1 8 第四章软件系统实现 第四章软件系统实现 在专用的嵌入式板子运行g n u l i n u x 系统已经变得越来越流行。一个嵌入式 l i n u x 系统从软件的角度看通常可以分为四个层次: 引导加载程序。包括固化在固件( f i r m w a r e ) 中的b o o t 代码( 可选) ,以及 b o o t l o a d e r 两大部分。 l i n u x 内核。特定于嵌入式板子的定制内核以及内核的启动参数。 文件系统。包括根文件系统和建立于f l a s h 内存设备之上文件系统。通常 用r a m d i s k 来作为r o o t f s 。 用户应用程序。特定于用户的应用程序,例如网卡驱动程序等。 下面从以上四个方面详细介绍一下软件设计的方法。 4 1b o o tio a d e r 设计思路、设置与程序设计 在嵌入式系统中,系统引导程序( b o o t l o a d e r ) 的作用与p c 上的b i o s 类似, 通过b o o t l o a d e r 可以完成对a r m 板上的主要部件如c p u 、s d r a m 、f l a s h 、串行 口等进行初始化操作,也可以下载文件到开发板、对f l a s h 进行擦除与编程。事 实上,一个功能完善的b o o t l o a d e r 相当于一个微型的操作系统。 4 1 1b o o t i o a d e r 在a r m 体系中的位置 在内核运行之前需要完成加载内核和一些辅助性的工作,然后跳转到内核代 码的起始地址并执行。本节分析b o o t l o a d e r 的初始化工作,从内核镜像起始地 址进行分析。整个a r m - l i n u x 内核的启动分为三个阶段。啪1 第一阶段主要是进行c p u 和体系结构的检查、c p u 本身的初始化及页表的 建立等,初始化是从内核入口e n t r y 开始到s t a r t _ k e r n e l 前结束。 第二阶段主要是对系统中的一些基础设施进行初始化。 最后是更高层次的初始化,如根设备和外部设备的初始化。 1 9 广东t 业大学硕l 学位论文 利用b o o t l o a d e r 程序就可以把编译程序下载到f l a s h 中进行固化。一般来 说,b o o t l o a d e r 是固化在硬件板上的一段程序,它对硬件板进行初始化等设置, 尤其在开发嵌入式操作系统时是必不可少的一个工具。 4 1 2b o o t i o a d e r 的设计思路分析 b o o t l o a d e r 主要作用是初始化一些必要的设备、然后调用内核,同时传递 参数给内核。它主要完成如下工作,如图4 - 1 所示: n o 上电初始化( c o n f i g 寄存 器:s d r a m ;串 j 通信) 启动延时 串口是否接收到 曲代码段的请求? 、 竺上 延时是否足够? y e s 反馈确认信息 反馈校验数据 跳转到正常程序代码( m a i n ) | 二 是否完成? 图4 - 1b o o t l o a d e r 主要工作 f i g 4 1m a i nw o r ko fb o o t l o a d e r 1 建立和初始化s d r a m ,探测所有的s d r a m 位置和大小并进行初始化。 2 b o o t l o a d e r 初始化并启动一个串口,让内核的串口驱动自动探测哪个串 口作为内核的控制台。 3 检查机器的系统结构,b o o tl o a d e r 探测机器类型传递给内核m a c h t y p e 值。 4 b o o t l o a d e r 创建和初始化内核的t a g g e dl i s t ,传递系统内存的大小和 位置,以及根文件系统的位置。 2 0 耋。 第四章软件系统实现 5 调用内核镜像。可以从f l a s h 调用内核,也可以从r a m 中调用内核。 4 1 3b o o t l o a d e r 的实现方法 4 1 3 1b o o t i o a d e r 的设置b o o t l o a d e r 的设置如图4 2 所示,包括内核入口、 屏蔽所有中断、判断处理器类型、创建核心页表等。咖 在b o o t l o a d e r 的执行全过程中,可以不必响应任何中断,但必须正确地设 置系统功能寄存器及各控制寄存器等。在跳转到内核前,必须禁止中断( i r o s 和f i q s ) :c p u 必须处于s v c 模式;删必须关闭;指令c a c h e 可以打开也可以 关闭;数据c a c h e 必须关闭。t h e k e r n e l ( ) 函数调用应该是永远不返回的,如果 这个调用返回,则说明出错。 2 1 图4 2b o o t l o a d e r 的设置 f i g 4 - 2s e t t i n go fb o o t l o a d e r 4 1 3 2 b o o t i o a d e r 程序设计b o o t l o a d e r 与硬件本身的启动方式有关,一些 a r m 芯片有两种启动方式:内启动和外痘动。外启动也就是从芯片外的f l a s h 启 动,一般f l a s h 刚开始不会写有程序,因此不能采用外启动方式。 内启动则是从a r m 的片内r a m 开始执行,在a r m 的片内r a m 中有1 2 8 字节的 第四章软件系统实现 程序,这1 2 8 字节程序只能从串口读取2 k b 代码放在地址值为o x l 0 0 0 0 0 0 0 的内 部s d r a m 中,然后跳转到地址o x l 0 0 0 0 0 0 0 开始运行这个下载下来的2 1 ( 1 3 代码。 显然操作系统的代码量要远远大于2 k b ,不可能一次全都装到片内的r a m ,所以 这就需要用b o o t l o a d e r 作为硬件启动到操作系统启动的过渡。 b o o t l o a d e r 是利用a r m 的内启动方式从串口读取2 k b 的程序到s d r a m ,然后 a r m 从s o p a m 的0 地址开始执行程序。因此首先需要写一个2 k b 的程序,通过硬 件运行这个程序。来控制硬件板上的c p u 从网口等待接收更大的程序写到硬件板 上的f l a s h 上。脚嘲 在2 k b 程序里面所含的内容很丰富,需要实现:初始化c p u ,打开网口,实 现网络协议,利用s d r a m 临时存储文件,执行写f l a s h 的操作,以及一些交互信 息。程序的基本思路是在硬件板上实现一个简单的t f t ps e r v e r 程序,然后通过 p c 上的t f t p c i i e n t 程序把目标程序下载到目标板上的s d r a m ,下载完成后再把 它写到f l a s h 上去。 b o o t l o a d e r 在内启动方式下,通过b o o t l o a d e r 程序的下载和执行,进一步 通过高速串口,把系统的外启动代码下载到板上并烧写f l a s h 芯片。 b o o t l o a d e r 程序设计实现后,串口终端就能正确地收到打印信息了,向串 日终端打印信息也是一个非常重要而又有效的调试手段。8 0 0 t l o a d e r 直接焊接 在目标板上,通过串口通信就可随时更新目标板上的程序,无须设置任何跳线。 4 1 3 3b o o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60270:2025 EN-FR High-voltage test techniques – Charge-based measurement of partial discharges
- 2025至2030中国电子废物回收和再利用服务行业产业运行态势及投资规划深度研究报告
- 2025至2030中国环氧大豆油丙烯酸酯低聚物行业产业运行态势及投资规划深度研究报告
- 2025至2030中国猪肉行业市场占有率及投资前景评估规划报告
- 2025至2030中国特性水泥行业发展分析及前景趋势与投资报告
- 智慧城市服务体系下市民满意度提升策略研究
- 在线学习环境下的学生心理支持策略研究
- 企业培训中的智慧学习空间设计与体验优化
- 教育政策与教师权益保障
- 2025年中国乙炔碳黑数据监测研究报告
- 读后续写美好品德类代表劳动价值的车篮子讲义-高三英语二轮复习
- 《三国的世界》解说词 第一集 01
- 黄石市阳新县法院系统书记员招聘考试真题
- 人教版高中英语必修第二册《Unit2Wildlifeprotection》教案及教学反思
- solidworks-2018安装教程(最详细)
- 留疆战士考试题库
- GB/T 701-2008低碳钢热轧圆盘条
- GB/T 21153-2007土方机械尺寸、性能和参数的单位与测量准确度
- GA/T 1556-2019道路交通执法人体血液采集技术规范
- 复习课专题讲座课件
- 提高人工气道气囊管理正确率品管圈汇报书模板课件
评论
0/150
提交评论