(计算机软件与理论专业论文)基于arm的嵌入式流媒体播放器的实现.pdf_第1页
(计算机软件与理论专业论文)基于arm的嵌入式流媒体播放器的实现.pdf_第2页
(计算机软件与理论专业论文)基于arm的嵌入式流媒体播放器的实现.pdf_第3页
(计算机软件与理论专业论文)基于arm的嵌入式流媒体播放器的实现.pdf_第4页
(计算机软件与理论专业论文)基于arm的嵌入式流媒体播放器的实现.pdf_第5页
已阅读5页,还剩87页未读 继续免费阅读

(计算机软件与理论专业论文)基于arm的嵌入式流媒体播放器的实现.pdf.pdf 免费下载

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

文档简介

摘要 摘要 近年来,网络音乐,特别是网络电台的风行,受到越来越多的大众追捧。网 络音乐以其及时、海量、灵活、个性化、时尚的风格,吸引了越来越多消费者的 加入和众多商家的关注。但是,作为网络音乐的终端一一流媒体播放器,最直接 面向大众的窗口,却显得单一,大部分商家只提供p c 上的流媒体播放器。正出 于此,本课题把目光投向那些不使用p c 或者不愿长时间使用p c 的用户,为他 们量身定制流媒体播放设备,让用户不必使用p c 也可享受网络音乐带来的快乐。 本课题的研发正是基于上述背景,研发支持无线网络的嵌入式多功能流媒体 播放设备。本课题的研究目标是实现一个嵌入式流媒体播放器( 亦称为i n t e m e t r a d i o ) ,i n t e m e tr a d i o 是一个可以在家中自由移动、任意摆放的网络流媒体播放 设备。只要处在有网络环境中,i n t e m e tr a d i o 的音乐平台让用户不必打开计算机, 就能接收全球数干个不同风格、不同国家的各种类型音乐电台。除了可以直接透 过因特网收听网络广播外,还可以播放储存于计算机硬盘或m p 3 设备中的音乐。 本系统采用a r m 9 2 0 t 作为处理器,基于嵌入式l i n u x 操作系统、v t u n e r 网 络电台地址数据库、m p l a y e r 播放器软件和f l t k 界面开发工具来实现。系统实 现了除一般意义的音频流媒体播放和接收调频广播等功能之外,还增加了本地相 框和网络数码相框f l i c k r 在线分享的流行时尚元素。本论文具体分析了系统的硬 件平台,主要论述了软件的实现,系统的主要软件功能包括b o o t l o a d e r 和嵌入式 l i n u x 系统的移植,根义件系统的构建,播放器软件程序的研究、比较、移植和 编写,系统与网络电台地址数据库v t u n e r 和网络相框f l i c k r 的交互, m i c r o w i n d o w s 、n x l i b 和f l t k 的移植和基于f l t k 的图形界面开发,以及基于 f l t k 开发出良好的人机交互界面。作为项目的主要核心人员,作者负责系统的 软件架构设计、l i n u x 系统的移植、播放器软件的研究和开发、g u i 开发工具和 图形库的移植、图片播放的实现、用户与设备交互的实现和大部分界面程序的编 码等关键工作。 关键词:嵌入式系统;流媒体播放器;数码相框 a b s t r a c t r e c e n t l y , o n l i n em u s i c ,e s p e c i a l l yt h ei n t e r n e tr a d i om u s i c ,a t t r a c t sl o t so fp e o p l e n e t w o r km u s i c ,w i t hf e a t u r e so fr e a l t i m e ,m a s s ,f l e x i b i l i t y , p e r s o n a l i z a t i o na n d f a s h i o n ,h a sas t r o n ga p p e a lt om o r ea n dm o r ec o n s u m e r s t h ef e a t u r e so fi n t e r n e t r a d i oa t t r a c tm a n yb u s i n e s s e s s i g h tt o o h o w e v e r , t h et e r m i n a lo fn e t w o r k m u s i c - - s t r e a mm e d i ap l a y e r , i so n l yp r o v i d e do np c t h es t r e a mm e d i ap l a y e ro np c l a c k so ff l e x i b i l i t ya n di n d i v i d u a lf e a t u r e s i nt h i sp a p e r , w ed e s i g na n di m p l e m e n ta s t r e a mm e d i a p l a y e rm a c h i n ew h i c hi si n d e p e n d e n to fp c u s i n gs t r e a mm e d i ap l a y e r m a c h i n e ,p e o p l ec a ne n j o yi n t e r n e tm u s i cw i t h o u tp c i n t h i sp a p e r , w ei n v e s t i g a t ea n dd e v e l o pa ne m b e d d e dm u l t i f u n c t i o ns t r e a m m e d i ap l a y e rd e v i c ew h i c hs u p p o r t sb o t hw i r e da n dw i r e l e s sn e t w o r k s t h ee m b e d d e d s t r e a mm e d i ap l a y e r , a l s ok n o w na si n t e m e tr a d i o ,c a nb ep u ti na n yp l a c ea th o m e , r e s t a u r a n to rc a r i nt h en e t w o r ke n v i r o n m e n t ,i n t e r n e tr a d i op r o v i d e st h o u s a n d so f r a d i os t a t i o n sm u s i cw i t hv a r i o u ss t y 7 l e sf r o md i f f e r e n tc o u n t r i e sw i t h o u tt u r n i n go n c o m p u t e r i tn o to n l yr e c e i v e sm u s i cf r o mn e t w o r kr a d i os t a t i o n s ,b u ta l s o c a n p l a y b a c kt h em e d i am u s i cs t o r e di nc o m p u t e rh a r dd i s ko ri nm p 3 m p 4d e v i c eb y u s bc a b l e e m b e d d e ds t r e a mm e d i ap l a y e ri sc o m p o s e do fa r m 9 2 0 tp r o c e s s o r , e m b e d d e d l i n u xo p e r a t i n gs y s t e m ,v t u n e ri n t e m e tr a d i os t a t i o nd a t a b a s e ,m p l a y e ra n df a s t l i g h tt o o lk i t ( f l t k ) w h i c hi saf r e eg r a p h i cu s e ri n t e r f a c et o o l k i t i n t e m e tr a d i o n o to n l ys u p p o r t sp l a y b a c km u s i cf r o ms e v e r a lw a y sb u ta l s oc a np l a y b a c kp h o t o s , i n c l u d i n gl o c a ls t o r a g ep h o t o sa n dn e t w o r kp h o t o s i ti m p l e m e n t sl o c a la n dn e t w o r k d i g i t a lp h o t of r a m e ( f l i c k r ) f u n c t i o n s t h i sp a p e ra n a l y s e st h eh a r d w a r ep l a t f o r mo f d e v i c ei nd e t a i la n de x p o u n d st h ei m p l e m e n t a t i o no fs o f t w a r eo nd e v i c ei n c l u d i n gt h e b o o t l o a d e ra n de m b e d d e dl i n u xs y s t e m st r a n s p l a n t a t i o n ,t h er o o tf i l es y s t e mb u i l d i n g , p l a y e rs o f t w a r ep r o g r a mi n v e s t i g a t i o n ,c o m p a r i s o n ,t r a n s p l a n t a t i o na n dc o d i n g , m i c r o w i n d o w s n x l i ba n df 嘛t r a n s p l a n t a t i o na n dg u i d e v e l o p m e n tb a s eo nf l t k w eh a v e i m p l e m e n t e dag o o di n t e r a c t i v ei n t e r f a c ea n dm a i n l yf u n c t i o n sf o ra n e m b e d d e ds t r e a mm e d i ap l a y e r ( i n t e m e tr a d i o ) a st h ec o r ed e v e l o p e ro ft h ep r o j e c t ia mm a i n l yr e s p o n s i b l ef o rt h ed e s i g no fs y s t e ms o f t w a r ea r c h i t e c t u r e ,i n v e s t i g a t i o n a n dc o d i n gf o rp l a y e rs o f t w a r e ,t r a n s p l a n t a t ef o rg u it o o l sa n dg r a p h i cl i b r a r i e s i h a v ei m p l e m e n t e dt h ei n t e r a c t i o nb e t w e e nu s e ra n dd e v i c e ,p h o t of r a m ef u n c t i o n sa n d c o d i n gf o rm o s ti n t e r f a c e so f d e v i c e k e y w o r d s :e m b e d d e ds y s t e m ;s t r e a mm e d i ap l a y e r ;d i g i t a lp h o t of r a m e 厦门大学学位论文原创性声明 本人呈交的学位论文是本人在导师指导下,独立完成的研究成果。 本人在论文写作中参考其他个人或集体已经发表的研究成果,均在文 中以适当方式明确标明,并符合法律规范和厦门大学研究生学术活 动规范( 试行) 。 另外,该学位论文为( ) 课题( 组) 的研究成果,获得() 课题( 组) 经费或实验室的 资助,在() 实验室完成。( 请在以上括号内填写课 题或课题组负责人或实验室名称,未有此项声明内容的,可以不作特 别声明。) 声明人( 签名) :1 尔1 氢铁i 卅年易月f 日 厦门大学学位论文著作权使用声明 本人同意厦门大学根据中华人民共和国学位条例暂行实施办法 等规定保留和使用此学位论文,并向主管部门或其指定机构送交学位 论文( 包括纸质版和电子版) ,允许学位论文进入厦门大学图书馆及 其数据库被查阅、借阅。本人同意厦门大学将学位论文加入全国博士、 硕士学位论文共建单位数据库进行检索,将学位论文的标题和摘要汇 编出版,采用影印、缩印或者其它方式合理复制学位论文。 本学位论文属于: () 1 经厦门大学保密委员会审查核定的保密学位论文, 于年月日解密,解密后适用上述授权。 , ( ) 2 不保密,适用上述授权。 ( 请在以上相应括号内打“”或填上相应内容。保密学位论文 应是已经厦门大学保密委员会审定过的学位论文,未经厦门大学保密 委员会审定的学位论文均为公开学位论文。此声明栏不填写的,默认 为公开学位论文,均适用上述授权。) 声明人( 签名) 俅1 虱武 矿c 7 年6 月厂日 第一章引言 1 1 什么是流媒体 第一章引言 传统的网络传输音视频等多媒体信息的方式足完全下载后再播放,下载常常 要花数分钟甚至数小时。而采用流媒体技术,就可实现流式传输,将声音、影像 或动画由服务器向用户计算机进行连续、不间断传送,用户不必等到整个文件全 部下载完毕,而只需经过几秒或十几秒的启动延时即可进行观看。当声音视频等 在用户的机器上播放时,文件的剩余部分还会从服务器上继续下载【1 1 。 如果将文件传输看作是一次接水的过程,过去的传输方式就像是对用户做了 一个规定,必须等到一桶水接满才能使用它,这个等待的时间自然要受到水流量 大小和桶的大小的影响。而流式传输则是,打开水头龙,等待一小会儿,水就会 源源不断地流出来,而_ 且可以随接随用,因此,不管水流量的大小,也不管桶的 大小,用户都可以随时用上水。从这个意义上看,流媒体这个词足非常形象的【2 】o 在运用流媒体技术时,音视频文件要采用相应的格式,不| 一格式的文件需要 用不同的播放器软件来播放,所谓“一把钥匙开一把锁”。目前,采用流媒体技 术的音视频文件主要有三大“流派”【3 1 。 一是微软的a s f ( a d v a n c e ds t r e a mf o r m a t ) 。这类文件的后缀是a s f 和w m v , 与它对应的播放器是微软公司的“m e d i ap l a y e r ”。用户可以将图形、声音和动 画数据组合成一个a s f 格式的文件,也可以将其他格式的视频和音频转换为a s f 格式,而且用户还可以通过声卡和视频捕获膏将诸如麦克风、录像机等外设的数 据保存为a s f 格式。 二是r e a l n e t w o r k s 公司的r e a l m e d i a ,它包括r e a l a u d i o 、r e a l v i d e o 和 r e a l f l a s h - 一- - 类文件,其中r e a l a u d i o 用来传输接近c d 音质的音频数据,r e a l v i d e o 用来传输不间断的视频数据,r e a l f l a s h 贝j j 是r e a l n e t w o r k s 公司与m a c r o m e d i a 公司 联合推出的一种高压缩比的动画格式,这类文件的后缀是r m ,文件对应的播放 器是“r e a l p l a y e r ”。 三是苹果公司的q u i c k t i m e 。这类文件扩展名通常是m o v ,它所对应的播放 器是“q u i c k t i m e ”。 基j :a r m 的嵌入式流媒体播放器的实现 此外,m p e g 、a v i 、d v i 、s w f 等都是适用于流媒体技术的文件格式。由 于流媒体技术在一定程度上突破了网络带宽对多媒体信息传输的限制,因此被广 泛运用于网上直播、网络广告、视频点播、远程教育、远程医疗、视频会议、企 业培训、电子商务等多种领域。 流媒体技术为传统媒体在互联网上开辟更广阔的空间提供了可能。广播电视 媒体节目的上网更为方便,听众、观众在网上点播节目更为简单,网上音视频直 播也将得到广泛运用。 1 2 嵌入式流媒体播放器的市场意义 传统基于p c 的流媒体播放器,它在流媒体的传输和播放技术上相对成熟, 具有强大的播放功能和友好的用户界面。然而,它存在的不足是:用户必须掌握 p c 技术,并且其应用无法脱离p c 机。此类播放器典型的主要代表有r e a ln e t w o r k s 的r e a lm e d i a 、m s 的w i n d o w sm e d i a 和a p p l e 的q u i c k t i m e 。 在便携式多媒体播放器产品研发上,基于嵌入式系统的手持媒体播放技术方 兴未艾,许多厂家如三星、s o n y 、爱国者等都推出了自己品牌的m p 3 和m p 4 。 此类技术在一定程度上摆脱了p c 的限制,但是还不能完全脱离p c 机而存在,并 且由于支持的媒体格式有限,需要预先使用p c 机完成转码后,导入到播放器中, 并非流媒体技术所倡导的边下载边播放的传输方式。 目前根据国内外市场的初步调查和反馈,i n t e m e tr a d i o 有着十分广泛的用 户受众。产品的适用面广,可以在家庭、旅馆、餐馆、汽车电子、个人手持等 多种场合使用,可为家电厂商、连锁运营商、电信运营商等传统服务商大大提 高产品的增值服务空间。该产品不但能够实现网络数字广播的收听,还可以与 全球著名网络服务商v t u n e r 和y a h o o 的多媒体产品无缝集成,让产品终端具备 音频收听、网络共享、视频浏览、个人信息定制等多方位功能。实现与同类产 品的差异化,以吸引更多的消费者。 该产品系中高档网络多媒体电子产品,产品定位于细分市场人群,并可针 对亚洲、欧美等不同地区用户进行外观、功能、语言的差异化设计,其良好的 发展势头和独特的功能特点,势必能够在未来的2 3 年内替代传统p m p 、m p 3 、 m p 4 ,将会在市场上独领风骚。 2 第一章引言 1 3 流媒体播放器的技术背景与研究现状 r e a ln e t w o r k s 的r e a lm e d i a 、m s 的w i n d o w sm e d i a 和a p p l e 的q u i c k t i m e 分别表示三款主流的流媒体播放器,针对不同格式的流媒体文件需要用不同的 播放器软件来播放。对应的有以下三款流媒体播放器软件。 r e a l 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 软件在流媒体市场占有重 要的一席之地,毕竟它进入这个市场的历史比较长,拥有了数量众多的用户。 2 0 0 2 年3 月5 日,r e a l n e t w o r k s 公司发布了r e a l o n e 的最终版( g o l d 版) ,r e a l o n e 可支持多文件连续播放。在往后的发展中,r e a l p l a y e r 也得到明显的升级,2 0 0 4 年推出了最新的功能全面的r e a l p l a y e r 的后续版本v i o 和r e a l p l a y e r1 0 5g o l d 官方正式中文版等版本。 w i n d o w sm e d i ap l a y e r :微软在w i n d o w s 操作系统中整合了m e d i ap l a y e r , 使得m e d i ap l a y e r 更方便为人们所接受和使用。w i n d o w sm e d i ap l a y e r 支持的视 频流媒体格式主要是微软自己开发的a s f 与w m v ,这两者的编码技术是比较 先进的,尤其是a s f 。w m v 一般是采用w i n d o w sm e d i av i d e o7 的编码,而 a s f 采用的一般是m i c r o s o f tm p e g 4 ,音频部分是w i n d o w sm e d i aa u d i o2 。2 0 0 4 年新推出了m e d i ap l a y e rv 9 0 简体中文版和m e d i ap l a y e r1 0 最终版等版本。 q u i c k t i m e - 苹果公司下的q u i c k t i m e 是最早的视频工业标准。在1 9 9 9 年 发布的q u i c k t i m e4 0 版本后开始支持真正的实时播放,其格式为m o v 。 q u i c k t i m e5 0 的各方面的功能让大家非常满意,简洁、直观,这是它最大的优 点,而在网络视频中,q u i c k t i m e 的在线播放调用非常迅速。后来a p p l e 公司 又推出了q u i c k t i m e6 0 和q u i c k t i m e 官方中文版6 5 等版本,它们最大的改进 在于对网络视频的加载速度,同时画质也有所提高。 尽管以上三款主流的流媒体播放器具有强大的播放功能和友好的用户界 面,但它们都必须依赖于p c ,而不能独立于p c 之外。这种局限性严重限制了 流媒体播放器在其它独立于p c 的设备、便携式或移动设备上的推广。本论文 所提出的嵌入式流媒体播放器正是基于这一市场空白而提出来的,因此有着广 阔的市场前景。 3 * r a r m 式m 蝶* m 口e m 1 4 嵌入式流媒体播放器的实现方法 本课题实现的嵌 式流媒体播放器( 1 n k m e tr a d i o ) ,是具备硬件和软件的一 个实体机,是一个可以在家中自由移动、任意摆放的网络流媒体播放设备。系 统的基本架构如图1 1 所示。 a p p l i c a t i o n b m m r # 目日自 岫刚“掣哑盟一一二 l 卫! 竺 器黑震铲鼍圈隧 图卜1 嵌入式流媒体播放器的絮构 系统的硬件平台主要包括:嵌入式主芯片( a r m 9 2 0 t ) 、多媒体处理芯片、 外围接1 3 芯片、s d r a m 和f l a s h 存储_ ;i 。在嵌入式流媒体播放器中,采剧台湾 智原科技生产的g m 8 1 2 0 开发板,这足款专门为多媒体处理而设计韵开发板。 并且厂商提供了比较完整的s d k 开发包。主要包括l i n u x 嵌入式操作系统和基 本的驱动程序。我们将在基于操作系统这一层上开发应用程序,主要是实现嵌 入式流媒体播放器的基本功能,包括系统设计与移植,从网络电台地址数据库 v t u n e r 获取电台地址,流媒体播放软件开发,网络相册f l i c k r 的交互,移植g u i 开发工具和基本的图形库,利用g u it 具设计具有良好变互性能的人机变互界 面。 系统主要实现了两个方面的功能。一是流媒体播放软件的实现,在嵌入式 流媒体播放器中,利用v t u n e r 提供的网络电台地址数据库,基于m p l a y e r 实现 播放器的流媒体播放软件;二是数码相框的实现在嵌入式流媒体播放器中 利州界面开发工具f l t k 和j p e g 、p n g 等图形库,实现数码相框的功能,同 第一章引言 时利用y a h o o 旗下的f l i c k r 网络相册提供的a p i 实现网络数码相框的功能。 1 5 嵌入式l i n u x 系统概述 1 5 1 嵌入式系统概述 1 5 1 1 嵌入式系统定义 虽然嵌入式系统是近几年才风靡起来的,但其历史可追溯到2 0 世纪7 0 年 代。经过3 0 多年的发展,在硬件和软件交替发展的支撑下,嵌入式技术逐渐趋 于稳定和成熟,已被广泛应用于工业控制、交通管理、信息家电、家庭智能管 理系统、p o s 网络及电子商务、环境检测、机器人等各个领域。毫不夸张的说, 嵌入式系统已经无所不在。所以,研究和开发嵌入式系统有着十分重要的意义 1 s l 。 根据i e e e ( 国际电气和电子工程师协会) 的定义,嵌入式系统是“控制、 监视或辅助设备、机器和车间运行的装置”,这主要是从应用上加以定义的。不 过,上述定义并不能充分体现出嵌入式系统的精髓。目前,国内一个普遍被认 同的定义是:以应用为中心、以计算机为基础,软、硬件可裁减,适应应用系 统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统【1 8 】。 广义地讲,凡是不用于通用目的的可编程计算机设备,就可以算是嵌入式 计算机系统。狭义上而言,嵌入式系统是指以应用为核心,以计算机技术为基 础,软硬件可裁剪,适于应用系统对功能、可靠性、成本、体积和功耗严格要 求的专用计算机系统。 总的来说,嵌入式系统是一个外延极广的概念,凡是与产品结合在一起的、 具有嵌入式系统特点的系统都可以称为嵌入式系统。可以从以下几个方面来理 解嵌入式系统的含义: 嵌入式系统是面向用户、面向产品、面向应用的,必须与具体应用相结 合才会具有生命力。正因为与具体应用的紧密结合,嵌入式系统才具有很强的 专用性。 嵌入式系统将先进的半导体技术、计算机技术和电子技术,以及各个行 业的具体应用相结合,是一个技术密集、资金密集、学科交叉和不断创新的知 基于a r m 的嵌入式流媒体播放器的实现 识集成系统。 嵌入式系统必须根据应用需要对硬件和软件进行裁剪,以满足应用系统 对功能、可靠性、成本、体积和功耗的要求。 1 5 1 2 嵌入式系统的组成 通常来说,嵌入式系统可以划分成硬件和软件两部分。嵌入式硬件由嵌入 式微处理器、片内周边电路和外部设备三部分组成。嵌入式微处理器是嵌入式 硬件系统的核心,直接影响嵌入式产品的应用范围和开发复杂度。典型的嵌入 式微处理器有m o t o r o l a 公司的p o w e rp c 系列、i n t e l 公司的s t r o n ga r m 系列、 a m d 公司的x 8 6 系列以及e p s o n 公司的s i c 3 3 系列等。嵌入式软件一般由连 接硬件和应用程序的嵌入式实时操作系统( r e a l t i m eo p e r a t i n gs y s t e m ,简称 r t o s ) 和在其上运行的应用软件构成【1 9 1 。 嵌入式处理器 嵌入式处理器是嵌入式系统的核心部件,是控制、辅助系统运行的硬件单 元,其功能和性能影响着整个系统的功能、性能和设计。嵌入式处理器的选择 也制约着其配套的外围器件及操作系统的选择【2 0 1 。 嵌入式处理器的种类繁多、数量庞大。目前世界上嵌入式处理器的种类数 量已经超过1 0 0 0 种,流行的体系结构有3 0 多个系列。嵌入式微处理器具有体 积小、重量轻、成本低、可靠性高等优点,因此得到了广泛应用。目前这样的 嵌入式处理器类型有a r m 、m i p s 、m c 6 8 0 0 、3 8 6 e x 、p o w e r p c 等系列。其中 以a r m 的应用最为广泛。 嵌入式处理器可以分为四类,即 嵌入式微处理器( e m b e d d e dm i c r o p r o c e s s o ru n i t e m p u ) ,如a r m 嵌入式微控制器( m i c r o c o n t r o l l e ru n i t 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 ) 嵌入式片上系统( s y s t e mo nc h i p ) 嵌入式外围设备 这里所说的嵌入式外围设备,指在一个嵌入式硬件系统中,除了中心控制 部件( m c u d s p , e m p u ,s o c ) 以外的完成存储、通信、保护、调试、显示等 6 第一章引言 辅助功能的其他部件1 7 。根据外围设备的功能可分为以下三类,即: 存储器类型:静态易失型存储器( r a m s r a m ) 、动态存储器( d r a m ) 、 非易失型存储器( r o m ,e p r o m ,e e p r o m ,f l a s h ) 。其中,因为f l a s h 可以 擦写多次,存储速度快,容量大,价格便宜在嵌入式领域应用广泛。 接口类型:目前存在的所有接口在嵌入式领域都应有广泛,如r s 2 3 2 ( 串口) 、i r d a ( 红外线接口) 、s p i ( 串行外围设备接口) 、1 2 c ( 现场总线待 定) 、u s b ( 通用串行接口) 、e t h e r n e t ( 以太接口) 和普通并口。 显示类型:c r t ,l c d 和触摸屏等外围设备。 1 5 1 3 嵌入式系统的特点 嵌入式系统具有以下几个重要特征【l9 】: 系统内核小,由于嵌入式系统一般应用于小型电子装置,系统资源相对 有限,所以内核较之传统的操作系统要小得多。比如,e n e a 公司的o s e 分布 式系统,内核只有5 k b ,而w i n d o w s 的内核则要大得多。 专用性强,嵌入式系统的个性化很强,其中的软件系统和硬件结合非常 紧密,一般要针对硬件进行系统的移植,同时针对不同的任务,往往需要对系 统进行较大的更改。另外,程序的编译下载要和系统相结合。 嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能的 设计及实现过于复杂,这样既利于控制系统成本,也利于实现系统安全。 高实时性的操作系统软件是嵌入式软件的基本要求,而且软件要求固化 存储,以提高速度软件代码要求高质量和高可靠性。 嵌入式软件开发要想走向标准化,就必须使用多任务操作系统。嵌入式 系统的应用程序可以没有操作系统而直接在芯片上运行,但为了更合理的调度 多任务,利用系统资源、系统函数,用户必须自行选配r t o s 开发平台。 执行的实时性、可靠性,并减少开发时间,保障软件质量。嵌入式系统 开发需要专门的开发工具和环境。由于嵌入式系统本身不具备自主开发能力, 即使完成设计后,用户通常也不能对其中的程序功能进行修改,因此必须有一 套基于通用计算机的开发工具和环境才能进行开发。 7 睫丁二a r m 的嵌入式流媒体播放器的实现 1 5 2 嵌入式l i n u x 简述 l i n u x 是一个类似u n i x 的操作系统,其代码是完全公开的,内核功能强 大,实现简洁。它提供了类似u n i x 的编程接口和系统调用,可以方便的将u n i x 系统上的应用程序,移植到l i n u x 上运行。l i n u x 内核支持多种体系结构的处理 器,包括目前流行的i n t e lx 8 6 ,m o t o r o l a i b mp o w e r p c ,c o m p a qa l p h a ,s u n s r a r c 等处理器体系结构【2 0 】。 要把l i r m x 用于嵌入式环境,就必须修改l i n u x 满足嵌入式系统的要求。 主要集中在两个方面:一是体积,二是实时性。与目前众多商业的r t o s ( 实 时操作系统) 相比,嵌入式l i n u x 拥有以下的特点f 2 0 】: 完全开放源代码 嵌入式l i n u x 开放源代码,这使得学习,修改,剪裁l i n u x 成为可能,嵌 入式系统的设计者可以对嵌入式l i n u x 进行二次开发,去掉操作系统的附加功 能,只保留必须的操作系统功能,并且可以根据实际应用的需要优化操作系统 的源代码,从而降低整个操作系统的开销与消耗。 成本低 g p l 协议保证了源自l i n u x 的嵌入式l i n u x 也是开放源代码的自由软件, 也就是说,只要遵守g p l 协议,嵌入式l i n u x 操作系统的源代码可以自由获得。 另外,大多数嵌入式l i n u x 使用的开发工具也是遵守g p l 协议的,同样可以免 费获得。 丰富的实用软件支持 l i n u x 操作系统是一个完整的,功能强大的操作系统,提供了大量的实用 程序和各种各样的应用软件。这些软件的正确性和有效性都经过了实际应用检 验,可以根据需要,利用l i n u x 提供的丰富的软件支持,迅速构建嵌入式应用 的软件环境。这样可以极大地减小嵌入式系统软件开发的时间和费用,提高系 统的可靠性。 嵌入式l i n u x 的可移植性 将l i n u x 移植到新的微处理器体系非常快捷,一般是将其移植到一种新型 的目标板,其中包含有独特的外设。大部分的内核代码都是相同的,因为它们 与微处理器无关,所以,移植的工作多集中在一些存储器管理及中断处理程序 8 身j 一荜弓i 言 上。一旦完成,它们将非常稳定。 嵌入式l i n u x 的应用 嵌入式系统的涵盖面足非常广泛的,其中,家电市场包括机顶盒、数字电 视、可视电话、家庭网络等信息家电;工业市场包括工业控制设备、仪器;商 用市场包括掌上电脑、客户机、p o s 终端等:通信市场包括w a p 手机、无线 p d a 等。目前被广泛看好的是信息家电市场,国内有很多开发厂商正加大投入、 开发和研制新的产品,嵌入式l i n u x 将是他们首选的操作系统。嵌入式l i n u x 系统的基本构架如图1 2 所示: f 。 霄霞 囡 l 驱动l 驱动 图1 - 2 嵌入式系统示意图 b o o t l o a d e r :负责l i n u x 内核的启动,它用于初始化系统资源,包括s d r a m 。 这部分代码用于建立l i n u x 内核运行环境和从f l a s h 中装载初始化r a m d i s k 。 内核初始化:l i n u x 内核的入口点是s t a r tk e r n e l 0 函数。它初始化内核的其 他部分,包括捕获,i r q 通道,设备驱动,标定延迟循环,最重要的是能够f o r k “i n i t ”进程,以启动整个多任务环境。系统调用函数捕获函数:在执行完“i n i t ” 程序后,内核对程序流就不再有直接的控制权,此后,它的作用仅仅是处理异 步事件( 例如硬件中断) 和为系统调用提供进程。 设备驱动:设备驱动占据了l i n u x 内核很大部分。同其他操作系统一样, 设备驱动为它们所控制的硬件设备和操作系统提供接口。 j 。一 文件系统:l i n u x 最重要的特性之一就是对多种文件系统的支持。这种特 9 冒 雾 一潲煺趟 基于a r m 的嵌入式流媒体播放器的实现 性使得l i n u x 很容易地同其他操作系统共存。文件系统的概念使得用户能够查 看存储设备上的文件和路径而无须考虑实际物理设备的文件系统类型。l i n u x 透明的支持许多不同的文件系统,将各种安装的文件和文件系统以一个完整的 虚拟文件系统的形式呈现给用户。 1 6 论文的主要内容 随着互联网技术和3 g 技术的发展,家庭消费类电子的迅猛增长已经成为 国民经济增长的一个重要的组成部分。嵌入式流媒体播放器由于其体积小、不 依赖p c 、使用方便、价格低、音乐类型丰富等特点容易为大部分家庭所接受。 本论文立足于家庭消费类电子,使用嵌入式l i n u x 操作系统、v t u n e r 网络 电台数据库、m p l a y e r 播放器、o o 旗下的f l i c k r 网络图片共享服务和f l t k 界面开发工具为核心的嵌入式系统,研制了基于a r m 的流媒体播放器。论文 主要阐述了播放流媒体的基本原理和方法,嵌入式系统的开发过程和实现,主 要包括开发环境的建立、硬件平台的组成、应用程序软件系统和人机交互界面 的实现等等。作为项目的主要核心人员,作者负责系统的软件架构设计、l i n u x 系统的移植、播放器软件的研究和开发、g u i 开发工具和图形库的移植、图片 播放的实现、用户与设备交互的实现和大部分界面程序的编码等关键工作。 在论文的组织结构如f : 第一章是引言部分,通过查阅大量文献和深入的市场调查,主要介绍流 媒体技术发展及其应用;简单介绍流媒体播放器的实现方法;嵌入式l i n u x 系 统的概述。 第二章介绍嵌入式平台的搭建。主要阐述嵌入式系统的开发过程;嵌入 式l i n u x 开发环境的建立;为了调试的方便,系统实现了网络文件系统( n f s ) 的配置。 第三章阐述了硬件平台的搭建。主要介绍了硬件设备g m 8 1 2 0 的芯片功 能及其重要组成模块。 第四章分析了嵌入式系统软件开发流程。主要包括b o o t l o a d e r 的分析与 移植;嵌入式l i n u x 内核的裁减与移植;嵌入式文件系统的分析、根文件系统 的创建与移植;应用程序的开发和移植,主要包括基于m p l a y e r 和g s t e a m e r 实 1 0 第一章引言 现的流媒体播放器的分析评估与移植、以及它们的优缺点比较;并介绍了流媒 体播放器的电台地址数据库的来源v t u n e r 。 第五章主要介绍了基于m i c r o w i n d o w s 、n x l i b 和f l t k 的图形界面开发, 包括图形界面开发概述、g u i 工具包在a r m 板上的移植和基于f l l 、k 的应用 程序开发,用户与系统交互的实现。分析了系统与v t u n e r 、系统与f l i c k r 的交 互方式以及系统与用户的交互实现等。 第六章分析了系统的运行结果。 第七章总结了所做的工作,并提出嵌入式流媒体播放器今后需要完善的 功能和研究的方向。 基 a r m 的嵌入式流媒体1 焉放器的实现 第二章嵌入式平台搭建 2 1 嵌入式系统的开发流程 在嵌入式系统开发中,根据用户的应用需求,首先选择相应的嵌入式处理 器及外围接口电路来搭建硬件平台,然后选择合适的嵌入式操作系统,在此基 础上进行相应的用户应用程序开发,最后是整个系统的调试运行。系统开发流 程如图2 1 所示: 图2 - 1 嵌入式系统开发流程图 2 2 嵌入式l i n u x 开发环境的建立 建立和安装交叉开发环境通常是在开发嵌入式软件之前要做的第一件事 情。因为嵌入式程序的编译和连接与通常的l i n u x 程序开发不同,在嵌入式系 统中,由于其硬件能力所限,不可能在嵌入式系统上安装编译器和连接器,然 后在嵌入式系统上编写代码、编泽并连接程序。于是就出现了交叉编译器 1 2 第二章嵌入式平台搭建 ( c r o s s c o m p i l e r ) 。交叉编译器是指运行在某台功能足够强大的宿主机( h o s t ) 上,可用来编译某个源程序,然后生成针对特定目标平台( t a r g e t ) 的代码的编 译器。除了交叉编译器,在开发过程还需要以下几种工具: 相关二进制工具( 连接器、归档工具、符号剥离器等) 。 针对目标平台的c 头文件。不同的目标平台具有自身特有的函数库及对 应的头文件,这样,在宿主机上,我们就需要保留一份针对该目标平台的头文 件,以便用来交叉编译c 程序。 针对目标平台的c 函数库。和头文件一样,在宿主机上,我们也要保留 一份针对特定目标平台的函数库,以便连接生产最终的目标程序。 以上这些开发嵌入式系统软件所使用的工具通常就被称为交叉开发链或交 叉开发环境。目前,开发嵌入式l i n u x 系统首选的开发工具是自由软件基金组 织f s f ( f r e es o f t w a r ef o u n d a t i o n ) 提供的g n u 开发工具。g n u 开发工具已经 集成到各l i n u x 发行版中,它与l i n u x 内核一脉相承,作为开发l i n u x 内核及 应用软件的标准开发工具,因为其效率高、功能强大而被移植到多种平台之上。 跨平台的g n u 开发工具链组件包括:二进制工具b i n u t i l s ,编译器g c c ,c 函数库g l i b c 以及l i n u x 内核头文件。 交叉编泽环境的建立步骤如下【2 0 1 2 1 】【2 2 】: 。 下载源代码:下载包括b i n u t i l s 、g c c 、g l i b c 以l i n u x 内核的源代码( g l i b c 和内核源代码的版本必须与目标机上实际使用的版本保持一致) ,并设定环境变 量p r e f i x ,指定可执行程序的安装路径。 ,编译b i n u t i l s 运行c o n f i g u r e 文件,并使用p r e f i x = $ p r e f i x 参数指定安装路径,使用 一t a r g e t = a r m 1 i n u x 参数指定目标机类型,然后执行m a k ei n s t a l l 。 配置l i n u x 内核文件 首先执行m a k em r p r o p e r 进行清理工作,然后执行m a k ec o n f i ga r c h = a r m ( 或m a k em e n u c o n f i g x c o n f i ga r c h = a r m ) 进行配置,这一步需要根据目标机 的实际情况进行详细的配置。 配置完成之后,需要将内核文件拷贝到安装目录: # c p - d ri n c l u d e a s m a i m $ p r e f i x a r m l i n u x i n c l u d e a s m # c p d ri n c l u d e l i n u x $ p r e f i x a 硼一l i n u x i n c l u d e l i n u x 1 3 基于a r m

温馨提示

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

评论

0/150

提交评论