(计算机应用技术专业论文)嵌入式多媒体播放器的研究与实现.pdf_第1页
(计算机应用技术专业论文)嵌入式多媒体播放器的研究与实现.pdf_第2页
(计算机应用技术专业论文)嵌入式多媒体播放器的研究与实现.pdf_第3页
(计算机应用技术专业论文)嵌入式多媒体播放器的研究与实现.pdf_第4页
(计算机应用技术专业论文)嵌入式多媒体播放器的研究与实现.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)嵌入式多媒体播放器的研究与实现.pdf.pdf 免费下载

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

文档简介

中文摘要 摘要 本文主要介绍一种基于嵌入式技术的多媒体播放器的系统设计方案。该系统 主要是通过在嵌入式芯片上加载操作系统,同时扩充必要的接口。在操作系统的 支持下,开发多媒体播放器。随着科学技术的发展,人们对多媒体文件的播放进 行了广泛的研究,目前国内外已经有众多品牌的播放器,但是在各个方面还有不 足的地方,比如: 1 )现有技术的媒体文件的载体主要是光盘,这样就造成容量小,更换困 难的弊端。本次设计以硬盘来作为载体,容量自然比光盘大得多,通过和p c 机相 连可以方便的加载和删除硬盘中的内容,达到随时可以更换播放内容的目的。 2 ) 现有产品中大多数播放器播放的内容相对单一,只是针对某一种媒体 文件进行播放,比如m p 3 播放器就很难播放v c d 等视频文件。本次设计力求集 多种媒体的播放于一身,既能播放m p 3 、c d 等音频媒体文件,又能播放m p g 、 w m v 等视频媒体文件。达到真正意义上的多媒体播放功能。 在整个系统设计的过程中,主要应用三星公司的$ 3 c 2 4 1 0 a r m 芯片,外扩展 i d e 硬盘接口,定制并加载w i n d o w s c e n e t 操作系统,在操作系统的支持下,对 各个外扩的接口进行驱动程序的编写,同时应用d i r e c t s h o ws d k 和e v c + + 开发出 多媒体播放器,图像显示在l e d 或者通过v g a 接口显示在电脑显示屏上,声音 信号通通过s 3 c 2 4 1 0 的i i s 总线传给c o d e c 芯片,然后将其转换为模拟信号,进 而通过音箱或者耳机等设备收听。 关键词:嵌入式,媒体播放器,s 3 c 2 4 1 0 ,w i n d o w sc e n e t ,d ir e c t s h o w 英文摘要 e m b e d e dm u l t i m e d i ap l a y e rr e s e a r c ha n dd e v e l o p m e n t a b s t r a c t 7 i h i st e x tm a i n l yi n t r o d u c e sak i n do f p r o j e c ta c c o r d i n gt ot h es y s t e md e s i g no f t h e m u l t i m e d i ap l a y e rw i t l lb u i l t - i nt e c h n i q u e t h a ts y s t e mm a i n l yi sb a s e do nt h eb u i l t i n c h i pt oa d do p e r a t es y s t e m ,e n l a r g en e c e s s a r yi n t e r f a c ea tt h em e a n t i m e ,d e v e l o pa m u l t i m e d i ap l a y e ru n d e rt h es u p p o r t i v eo p e r a t es y s t e m a l o n g 、i t i lt h es c i e n c et e c h n i c a l d e v e l o p m e n t ,p e o p l ec a r r yo na ne x t e n s i v er e s e a r c ho fm u l t i - m e d i ad o c u m e n t ,h a v i n g a l r e a d yh a dn u m e r o u sp l a y e r so fb r a n d sa th o m ea n da b r o a dc u r r e n t l y , b u ts t i l lh a v i n g w e a k n e s si ns e v e r a lp a r t s ,f o re x a m p l e : c di st h em a i n l ye x i s t i n gt e c h n i c a lm e d i u md o c u m e n t sc a r r y i n gb o d y , m a k i n g c a p a c i t ys m a l l r e p l a c i n gd i f f i c u l ti r r e g u l a r i t y 1 1 l i sd e s i g nu s e st h eh a r dd r i v et ob e t h ec o n d u c ta n da c t i o n sc a r r yb o d y , c a p a c i t yn a t u r er a t i oi sm u c hb i g g e rt h a nc d s a c c o r d i n g t oc o n n e c tw i t hp c ,i ti sc o n v e n i e n tt oa d do rd e l e t ed a t ao nt h eh a r d d r i v e r , a t t a i nt h ep u r p o s eo fr e p l a c i n gt h eb r o a d c a s t i n gc o n t e n t sa ta n yt i m e 2 、t h ec o n t e n t st h a te x i s t i n gm u l t i - m a d i ap l a y e r sp r o d u c tc a nb r o a d c a s ti s c o m p a r a t i v e l yl a c k ,e v e nj u s to n ek i n d ,f o re x a m p l em p 3p l a y e r sc a nh a r d l yb r o a d c a s ta v c dm e d i ad o c u m e n t t i l i sd e s i g nt r i e sh a r df o rb r o a d c a s tv a r i o u sm e d i u mi nt h e w h o l eb o d y , s i n c ec a nb r o a d c a s tm p 3 ,c de r e ,a u d i om e d i u md o c u m e n t , b r o a d c a s t v c d d v de t c v i d e om e d i u md o c u m e n t a t t a i nr e a lm e a n i n go fm u l t i - m e d i ab r o a d c a s t f u n c t i o n i nt h ew h o l es y s t e md e s i g np r o c e s s ,w em a i n l ya p p l yt h e $ 3 c 2 4 1 0a r m c h i p , o u t s i d ee x p a n di d eh a r dd r i v ei n t e r f a c eo fs u m s a n g ,c u s t o m i z ea n da d dw i n d o w s c e n e to p e r a t es y s t e m ,u n d e rt h eo p e r a t es y s t e ms u p p o r t , w r i t ed r i v e rp r o g r a mt oe a c h o n eo u t s i d ee x p a n do fi n t e r f a c e i nt h em e a n t i m eu s ed i r e c t s h o ws d ka n de v c 抖t o d e v e l o pm u l t i m e d i ap l a y e r t h ep i c t u r es h o w sa tl c d o rt h r o u g hav g ai n t e r f a c et o s h o wo nac o m p u t e rs c r e e n , a u d i os i g n a lp a s st ot h ec o d e c c h i pt h r o u g ht h es 3c 2 4 1 0 o ft h ei i sb u s ,t h e nc o n v e r ti tt oi m i t a t es i g n a l ,i no r d e rt ou s eas o u n db o xo r h e a d p h o n e se t e t ol i s t e nt o k e yw o r d :e m b e d e d ;m e d i a p l a y e r ;s 3 c 2 4 1 0 ;w i n d o w sc e n e t ;d i r e e t s h o w 大连海事大学学位论文原创性声明和使用授权说明 ,原创性声明。 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成硕士学位论文“送式垒攫住搔丝墨的婴究皇塞理”。除论文中已经注明引 用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中以明确方式 标明。本论文中不包含任何未加明确注明的其他个人或集体已经公开发表或未公 开发表的成果。 本声明的法律责任由本人承担。 , 论文作者签名:; 学位论文版权使用授权书 刃年弓晔日 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。 保密口,在 年解密后适用本授权书。 本学位论文属于:保密口 不保曳乒( 请在以上方框内打“”) 论文作者签名:孕菇辫 日期: 习址 腾垆 躲 师年导订 嵌入式多媒体播放器的研究与设计 第1 章绪论 1 1 嵌入式多媒体播放器的设计目的及意义 伴随着科学技术的发展和人们生活水平的提高,家庭影院已经步入了千家万 户的大门。v c d 、d v d 、m p 3 等媒体的播放系统已经日趋成熟。如何利用嵌入式 技术更好的实现媒体文件的播放,越来越成为本领域所关注的焦点。针对此问题, 人们运用先进的科学技术,相继研制开发出了播放工具,编解码技术也在迅速的 发展。从设计的角度出发,把硬件和软件综合起来考虑,运用a r m 技术可以充分 实现上述功能。在嵌入式媒体播放系统中,它的应用也相当的广泛。可应用于家庭 影院、车载视频系统、手持式媒体播放器等等。 1 2 课题现状 随着科学技术的发展,人们对多媒体文件的播放进行了广泛的研究,目前国 内外已经有众多品牌的播放器,一些公认的硬件接口和软件编码解码技术早已经 开始用于家庭,车载等场合1 1 】。嵌入式媒体播放器主要分为三大关键技术:一是硬 件接口的设计;二是操作系统的移植;三是播放器软件的实现。 对比现有的多媒体播放器,本次设计主要有下列优点: 1 ) 现有技术的媒体文件的载体主要是光盘,这样就产生容量小,更换困难的 弊端。本次设计以硬盘作为载体,容量自然比光盘大得多,通过将系统的 u s b d e v i c e 接口与p c 机的u s b h o s t 接口相连可以方便的更新硬盘中的内容,达 到随时可以更换播放内容的目的。 2 ) 现有产品中大多数播放器播放的内容相对单一。只是针对某种媒体文件 进行播放,比如m p 3 播放器就无法播放m p g 视频文件。本次设计力求集多种媒 体的播放于一身,既能播放m p 3 、c d 等音频媒体文件,又能播放m p g 、w m v 等视频媒体文件。达到真正意义上的多媒体播放功能。 对于操作系统来说,有很多的选择。比如l i n u x ,n u c l e u s ,v x w o r k s ,w i n c e 等等。相比较而言,l i n u x 的优势是它完全开放,没有隐藏的接口,没有未公开的 第1 章绪论 a p i 。但对于编程来说,使用w i n c e 开发会带来更便携的条件,w i n c e 的优点是 内容丰富、功能全面、整体性强。 1 3 论文所做工作和论文结构 1 3 1 论文所做的工作 首先进行需求分析,明确系统功能。基于项目的目的、用途和资金投入等主 要因素,选择硬件产品,对系统进行总体设计,包括系统的硬件结构和相应的软 件功能模块。为了进一步完善本系统的功能、降低成本,本文对现有的嵌入式系 统的工作原理进行了总结和分析,参考了多种设计思想,最终实现多媒体的播放。 经过实验和多方面考虑,最终确定了以a r m 9 为基础的开发目标。 其次对硬件平台进行搭建,调试各个外围模块,比如l c d ,u s b 接口等等。 然后在硬件的基础上进行软件的开发,对于开发板上已经有的接口进行编程,然 后对扩充的接口( i d e 等) 进行驱动程序的开发。 为提高硬件的使用效率,提高通用性,降低日后二次开发的难度,本文将嵌 w i n d o w sc e 移植到了硬件平台上,根据硬件平台的需要,裁剪了不必要的驱动和 应用模块,并且根据本系统的应用需要,添加了针对本硬件系统的驱动程序。 1 3 2 论文结构 本论文共分六章。 论文的第一章( 本章) 是绪论部分,对论文的背景、课题来源以及作者所做 的工作进行简略的介绍。 第二章介绍了本系统的整体设计,主要是对系统进行模块的划分,从而建立 起一个整体的概念,本章对系统的开发和编程都具有了一定的指导意义。 第三章主要在前一章的基础之上介绍了硬件的设计思路,并对硬件系统中用 到的各个主要芯片的电气特性进行了比较详细的介绍,同时给出了c p u 与这些芯 片的连接引脚图。 第四章通过对现有嵌入式操作系统进行了介绍并加以比较,从而确定了本系 嵌入式多媒体播放器的研究与设计 统中所应用的操作系统,并对操作系统的移植做了详细的说明。进而讲述了 b o o t l o a d e r 的修改,以及系统的初始化过程。 第五章介绍了操作系统的驱动模型。对不提供驱动的外围模块的编程如何实 现。并围绕此过程进行各个模块的核心程序的说明。 第六章本章主要介绍开发媒体播放器的环境和开发方法,并着重介绍了关键 性模块的设计。 第2 章嵌入式播放器系统整体设计 第2 章嵌入式播放器系统整体设计 这里主要是对系统的整体设计,对系统的开发和编程都起到了一定的指导意义 2 1 硬件系统原理框图 r 曳二。二三二,:= h s d r i 、7 v 舭y 6 1 6 片2 0 僻 ,。j j j r l a s h 芯片l 一 、 a r m s 3 c 2 4 1 0 8 圳洲g 卜一 d sk 9 f 1 2 0 8 u o l 。 k 一,。:二: 眦融瞄 图2 1 系统原理图 f i g2 1s y s t e m t h e o r yc h a r t 如图2 1 所示,系统通过读取硬盘的数据,进行相应的分析、处理,最后由输 出终端( l c d 、音箱) 输出。而用户通过输入设备,对系统进行控制,将命令传 达给a r m 控制器。 2 2 软件功能模块 由图2 1 可以看出,软件设计部分大致可以分为3 大模块: 1 多媒体文件播放处理模块 2 输入输出人机交互模块 3 i d e 驱动设计及文件系统管理模块 嵌入式多媒体播放器的研究与设计 2 2 1 多媒体文件播放处理模块 本模块是系统的核心模块。为了实现多媒体文件的播放功能,必须选择合适 的方法对多媒体数据文件进行相应的处理,这个模块的主要功能就是在操作系统 的支持下,利用m f c 和d i r e c t s h o w 编写播放器的核心代码。 2 2 2 人机交互模块( g u i 模块) 这个模块的主要工作就是设计播放器的界面。完成人机交互的功能。具体说, 就是在播放器启动后显示开机晃面并为用户提供服务菜单和数据输入的接口,同 时为用户提供当前播放器的工作状态信息,方便用户进行一系列的操作。 2 2 3 外围驱动模块 本模块主要是对一些驱动程序的编写,主要包括以下三点: 1 、l c d 驱动程序的修改。l c d 型号不同,用户要求各异,这就造成相对应 的驱动程序也不尽相同,所以必须对驱动程序的原型进行必要的修改。 2 、电池电量检测驱动的编写,电池检测模块主要为用户提供电池剩余电量的 信息,以方便用户及时的掌控系统状态。 3 、i d e 硬盘驱动的编写。多媒体文件,尤其是视频文件,其文件大小一般在 几兆到几百兆不等,而系统不能仅仅储存一个文件,一般的存储介质无法达到这 个容量的要求,所以采用i d e 硬盘,这样就解决了大容量和内容更新的问题。尽 管w i n c e 提供了i d e 驱动的模型,由于a r m 9 芯片没有专门针对i d e 接口的控 制单元,所以驱动程序必须要进行开发,至少要做比较大规模的修改。从而给开 发带来了一定的麻烦。 以上对整个系统的设计在功能性上做了一个总体的说明,具体内容将在下面 几章中做具体的介绍。 第3 章系统硬件平台搭建 第3 章系统硬件平台搭建 系统整体设计确定以后,就要根据各个部分的具体功能进行硬件的选型和设 计,主要包括微控制器的选择、显示屏的选择,人机接口的选择、存储器的选择 及地址分配等等。下面就这些问题进行讨论。 3 。1 微控制器的选择 在微控制器的选择上,本系统选用s a m s u n g 公司的$ 3 c 2 4 1 0 ,它是基于 a r m 9 2 0 t 内核的1 6 3 2 位精简指令集微控制器,是为手持设备和通用设备提供的 一款低成本,高效率的微控制器。现在就它的主要特点进行介绍;【2 】 外部扩充存储器控制器。( f p e d o s d r a m 控制器,芯片片选逻辑) ; l c d 控制器,最大支持4 k 色s t n 和2 5 6 k 色的t f t 屏幕,并带有1 个通道 l c d 专用d m a 通道; 4 个带外部请求引脚的d m a 通道; 3 个u a r t ; 1 个i i c 总线控制器; 1 个i i s 总线控制器; 支持1 0 版本的s d h o s t ; 1 个u s b h o s t ,1 个h o s 肋e v i c e 复用; 4 个p w m 定时器和一个内部定时器; 看门狗定时器; 1 1 7 个通用i o 端口和2 4 个外部中断源; 8 路1 0 位a d c ,带有触摸屏接口: 有日历功能的r t c ; 带p l l 的片上时钟发生器; $ 3 c 2 4 1 0 最高的工作频率为2 6 6 m h z ,稳定工作在2 0 3 m h z 。 嵌入式多媒体播放器的研究与设计 3 2f l a s h ,s d r a m 的选择和地址分配 选用的f l a s h 芯片是k 9 f 1 2 0 8 u o mn a n df l a s h ,容量为6 4 m 字节,用于 存放操作系统的内核镜像文件以及一些系统的配置信息等等。$ 3 c 2 4 1 0 带有n a n d f l a s h 的控制单元,可以不参与存储器的统一地址分配。 选用的s d r a m 芯片是h y 5 7 v 5 6 1 6 2 0 c ,容量为3 2 m 字节。1 。本系统一共使用 两片,总容量达到6 4 m 字节。其地址映射至1 j s 3 c 2 4 1 0 的b a n k 6 。地址对应关系如 下表: 表3 1s d r a m 分配表 1 h b3 1s d r a m a l l o t t 曲l e 片选信号设备起始地址 结束地址大小 n g c s 6s d r a m0 x 3 0 0 0 0 0 0 00 x 3 3 f f f f f f f 6 4 m 3 3 音频输出接口 3 。3 。ll l s 数据接口 i i s 是i n t e r - i cs o u n d 的缩写,它是为数字音频技术和数字音频设备设计的串行 总线标准。通常用于c d 播放器,数字音频处理器等等。i i s 的数据和时钟信号是分 离的,这样也就避免了和时间相关的错误。s 总线由3 根串行总线组成,一根数据 线用来分时传输左右声道的数据,一根左右声道的选择线,还有一根时钟线“。 3 3 2c o d e c 芯片的选择 c o d e c 是“c o d e d e c o d e 的缩写,c o d e c 芯片主要负责模拟信号和数字信号 的相互转换。对于本系统来说,更加关心的是将数字信号转换为模拟信号,主要 是将要播放的文件的音频数字信号部分通过$ 3 c 2 4 1 0 的i i s 总线传给c o d e c 芯 片,然后将其转换为模拟信号,进而通过音箱或者耳机等设备输出。 第3 章系统硬件平台搭建 根据采样定理,采样频率至少要是信号频率的2 倍以上;再有一点就是要支 持i i s 接口标准,因为本系统中是通过i i s 总线向c o d e c 芯片传输数据。 综上所述,在本系统采用p h i l i p s 公司的u d a l 3 4 1 t s ,现在对这个芯片的一些 特性进行一下介绍: 3 0 v 电压供电: 对于a d c 和d a c 是分别供电的; 系统的时钟频率可选2 5 6 f s ,3 8 4 f s ,5 1 2 f s ; 采样频率从1 6 k h z 到4 8 k h z ; 擞字音质控制,有重低音效果; r 支持i i s 总线: 高保真的立体声输出。 下面给出u d a l 3 4 1 t s 与$ 3 c 2 4 1 0 的连接框图: l l s l r c kw s i s d o d a t a i i i s d id 虹- a o i i s c l kb c k g p b 3l 3 d a l l a g p b 2 l 3 m o d e g p b 4l 3 c l o c k c o d e c i ,ks y s c l k u d a l 3 4 1 t s 图3 1 $ 3 c 2 4 1 0 与l i d a l 3 4 1 t s 的连接图 f i 9 3 1s 3 c 2 4 1 0 c o n n e c t w i t h u d a l 3 4 1 t s 嵌入式多媒体播放器的研究与设计 3 4l e d 显示屏的选择与接口设计 3 4 1l c d 的选择 一块l c d 屏显示图像,不但需要l c d 驱动器,还需要有相应的l c d 控制器。 通常l c d 驱动器会以c o f c o g 的形式与l c d 玻璃基板制做在一起,而l c d 控 制器则由外部电路来实现。而s 3 c 2 4 1 0 内部已经集成了l c d 控制器,因此可以很 方便地去控制各种类型的l c d 屏,例如:s t n 和1 1 p t 屏。下面先给出s 3 c 2 4 1 0 对于两种l c d 屏幕的一些参数: s t n 屏: 一支持3 种扫描方式:4 b i t 单扫、4 位双扫和8 位单扫; 一支持单色、4 级灰度和1 6 级灰度屏; 一支持2 5 6 色和4 0 9 6 色彩色s t n 屏( c s t n ) ; 一支持分辩率为6 4 0 * 4 8 0 、3 2 0 * 2 4 0 、1 6 0 1 6 0 以及其它规格的多种l c d t f t 屏: 一支持单色、4 级灰度、2 5 6 色的调色板显示模式; 一支持6 4 k 和1 6 m 色非调色板显示模式; 一支持分辩率为6 4 0 * 4 8 0 、3 2 0 * 2 4 0 及其它多种规格的l c d ; 由于本系统是用作多媒体播放,屏幕面积不宜太小,n 叮屏将是今后应用的 主流,所以本系统选用了三菱公司的一块8 英寸的叮显示屏。 3 4 2l c d 外部接口信号 对于l c d 屏幕来说,除了给它送视频信号( v d 2 3 :0 ) 以外,还有以下一些 信号是必不可少的,分别是: v s y n c ( v f r a m e ):帧同步信号; h s y n c ( v l i n e ):行同步信号: v c l k :像数时钟信号; v d e n ( v m ) :数据有效标志信号; 第3 章系统硬件平台搭建 图3 ,2 $ 3 c 2 4 1 0 内部的l c d 控制器的逻辑示意图 f i g3 2 $ 3 c 2 4 1 0l e dc o n t r o l l e rl o g i c t f tl c d 常用信号解释: l e dc a t h o d e l e da n o d e :l c d 背光电源供电 m p o l :液晶驱动极性转换型号,用于产生v c o m 信号 r e s e t :全局复位信号 c s s c u s d i :l c dt c o nl c 的配置端口 d a t a 0 :2 3 :l c dr g b 2 4 b i t 数据信号,一般使用1 6 b i t ,因为在人的肉眼观察 下1 6 b i t 的色彩和2 4 b i t 的色彩没有太大区别,而1 6 b i t 所需处理的数据量比 2 4 b i t 小很多,一般情况把剩余的地位数据线连接到高位。 h s y n c :水平同步时钟信号; v s y n c :垂直同步时钟信号; d o t c l k :象素时钟信号: v d d :数字电源,一般是3 3 v ; a v d d :模拟电源,一般是5 v : v g l :g a l mo f f 控制电压; v g h :o a l r eo n 控制电压: v c o m :l c d 公共驱动电极: e n a b l e :d a t ae n a b l e 信号; 嵌入式多媒体播放器的研究与设计 3 5u s b 接口设计 系统为了与p c 机相连接,设计了u s b 模块,将本系统的u s b d e v i c e 接口与 p c 机的u s b h o s t 接口相连可以方便地更新硬盘中的内容。$ 3 c 2 4 1 0 芯片本身集 成了u s b 控制模块,兼容u s b l 1 协议,支持高速和低速的u s b 设备。$ 3 c 2 4 1 0 给开发者提供两个u s b 接口,一个是单独的u s b h o s t 接口;另一个是u s b - h o s t 和u s b d e v i c e 复用的接口。对于本系统来说,只需要其u s b d e v i c e 接口,在电 路的实现上,通过跳线( 图3 3 中j u m p e r 2 和j u m p e r 3 ) 选择的方法将其复用 接口连接在d e v i c e 接口上。如图3 3 将两个跳线( 偏右侧虚线框内) 同时连接在 1 2 。 聃口 图3 3 $ 3 c 2 4 1 0u s b 接口设计电路 f i g3 2 $ 3 c 2 4 1 0u s bi n t e r f a c ed e s i g n 第4 章操作系统的定制与系统的初始化 第4 章操作系统的定制与系统的初始化 4 1 嵌入式操作系统的比较与选择 随着科学技术的不断发展,芯片集成度不断提高,现在市场上也出现了各种 各样的控制芯片。它们的功能越来越强大,模块越来越繁多,随之而来问题就是 需要编程人员要考虑的问题也越来越多,这样带来的麻烦也就越来越多。为了避 免开发工作的大量重复,提高开发效率,现在也相继出现了各种各样的针对嵌入 式开发的操作系统,它们拥有与p c 机操作系统相同的功能对控制芯片细节的 屏蔽。这些操作系统为开发人员提供了一些系统函数接口,由开发人员自行调用, 完成相应的对硬件的间接操作。这些接口函数具有一定的通用性,在不同的c p u 上可以用相同的名字,这样就给编程开发人员带来极大的方便,在某种程度上也 为开发人员节省了一些了解控制芯片的硬件细节特性的时间,而将主要精力放在 功能软件上的开发上。同时一个好的操作系统也可以保证整个系统的安全性,毕 竟一个系统提供的系统函数是经过许多实践检验和测试过的,因此用户可以放心 调用,这要比用户自行编写安全得多。所以选择一个适合项目的操作系统是十分 必要的。 现在普遍使用的嵌入式操作系统主要有以下几种:v x w o r k s 、u c l i n u x 、 u c o si i ,w i n d o w s c e 以下篇章中就对这几种常见的操作系统进行一下简单的介绍 与比较从而决定这个系统中所用的操作系统。 v x w o r k s 操作系统是美国w i n d r i v e r 公司推出的一种嵌入式操作系统,依靠 该系统高性能的内核,友好的用户开发环境获得了很大的成功。它的功能强大, 应用广泛,在著名的火星探测车上及爱国者导弹的导航系统中都用到了v x w o r k s 操作系统。这种操作系统满足本系统的开发可谓是绰绰有余,无论是实时性要求, 还是各方面的系统服务都达到很高的标准,而且操作系统还可以定制,不会占用 系统太多的资源。这个操作系统的使用是需要支付昂贵的费用的。 u c o si i 操作系统是由美国人j e a nj l a b r o s s e 开发的实时操作系统。它的特点 是内核精简,占用的系统资源极少。u c o si i 其实只是一个实时操作系统的内核, 嵌入式多媒体播放器的研究与设计 核心代码只有8 3 k b ,所占用的r a m 也只有几k b 。它只包含了进程调度,时钟 管理,内存管理和进程的通信与同步等基本功能,而没有包括i o 管理,文件系统, 网络管理等额外的模块。 u c l i n u x 是一种很受欢迎的操作系统,它与u n i x 系统兼容。开放源代码。 它原本被设计为桌面系统,现在广泛应用于服务器领域。而更大的影响在于它正 逐渐的应用于嵌入式设备。u c l i n u x 正是在这种氛围下产生的。u c l i n u x 是一 种开放源码,软实时,多任务的嵌入式操作系统。它是在标准l 1 n u x 的基础上针 对嵌入式操作系统进行内核剪裁和优化后形成的。这使它体积更小,性能更高, 同时它是免费的。 w i n d o w sc e n e t 是微软公司在嵌入式操作系统市场上的一个重要产品。它是 一个3 2 位,多线程,多任务的操作系统,这是它的主要特色。w i n d o w sc e n e t 的 体系结构采用独立于通常的程序设计语言并且和w i n d o w s 兼容的a p i 的方式,这 样就可以保障w i n d o w sc e n e t 的组件化和r o m 化,充分适应有限的存储空闰和 各种不同芯片的要求 5 1 。w i n d o w sc e n e t 是模块化的操作系统。这就意味着可选择, 组合和配置w i n d o w sc e n e t 的模块和组建来创建用户版的操作系统。w i n d o w s c e n e t 中的a p i 是一个缩减的w i n 3 2a p i ,是桌面w i n d o w s 系统的一个子集。这 使许多基于微软桌面w i n d o w s 开发的应用程序可以经过少许的改动就用于 w i n d o w sc e n e t 中。 在这个项目中,如果想得到用户的认可,播放的质量是第一位的,从软解码 能力来看,首选l i n u x 和w i n d o w sc e 。其次系统界面必须十分友好,考虑到大部 分用户多年来使用w i n d o w s 系列操作系统的习惯, w i n d o w sc e 是一个不错的选 择。从操作系统的角度看,w i n d o w sc e n e t 具有灵活的电源管理功能,包括睡眠、 唤醒模式。w i n d o w sc e n e t 还使用了文件系统、注册表及数据库。它还具有很多 高性能,高效率的操作系统特性,也拥有良好的通信能力。另外从开发者的角度 看。w i n d o w sc e n e t 提供了方便快捷的系统定制工具,可以根据不同的硬件定制 不同要求的操作系统。同时用这个工具也可以完成自己编写的驱动程序的开发。 综合上面的一些比较,w i n d o w $ c e n e t 从各个方面都满足系统需求,所以选 择w i n d o w sc e n e t ,后文的相关论述也是基于w i n d o wc e 。n e t 操作系统的。 第4 章操作系统的定制与系统的初始化 4 2w in d o w sc e n e t 操作系统开发环境 本系统开发工具的是p l a t f o r mb u i l d e r4 2 ,p l a t f o r mb u i l d e r ( 简称p b ) 是 m i c r o s o f t 提供给w i n c e 开发人员进行基于该平台嵌入式操作系统定制的集成开发 环境。它运行在桌面w i n d o w s 环境下,为开发人员提供了所有进行设计、创建、 编译、测试和调试的工具。开发人员可根据具体的嵌入式系统进行w i n c e 平台的 o a l 层移植、驱动程序开发、系统模块裁剪及应用程序开发。对于常用的c p u 和 外设,p b 都提供了o e m 层的源代码,开发人员只要对p b 提供的标准b s p 进行 裁减或稍作修改,就能驱动大部分标准硬件设备。同时p b 还提供了丰富的标准应 用程序和服务程序,在开发好o e m 层的系统上添加这些应用服务,就能使用户的 硬件平台工作起来。 4 3w in d o w s0 e n e t 定制 这一节将详细阐述w i n d o w sc e n e t 操作系统的定制流程。 4 3 1 定制流程总述 1 选择操作系统的基本配置,并为特定的平台选择相应的微处理器和板级支 持包b s p ( b o a r ds u p p o r tp a c k e t ) ,导入和硬件平台相关的g e e 文件。 2 利用标准开发向导,根据w i n c e 的架构创建一个定制平台,根据目标硬 件设备开发b o o t l o a d e r 、设备驱动程序,适当裁剪和添加组件,如有必要还需对某 些配置文件进行修改,然后封装所需要的各功能模块,编译生成o s 镜像文件。 3 通过以太网将镜像文件下载到目标设备,可以使用p l a t f o r m b u i l d e r 提供的 调试工具查看w i n d o w sc e n e t 的运行情况并进行调试,若需要,则进行重复配置、 封装、下载及调试,直到满足要求,完成平台的创建。 4 导出相应的s d k 软件开发工具包,运行后加入到e v c + + 中,使得可以进 行特定硬件平台上的应用程序开发。s d k 包含程序库、头文件、示例程序源代码 和库函数使用文档,同时还包括编程指导和a p i 参与以及设备驱动工具包( d d k ) 。 嵌入式多媒体播放器的研究与设计 图4 1 操作系统定制的流程 f i g4 1o s c u s t o m i z ef l o w 4 3 2 定制过程中一些重要组件的选择 定制过程中p b 提供了很多可以选择的组件,诸如基础类库,应用程序,核心 服务,网络通信服务,文件系统,显示字体,所支持韵国家,i n t e r n e t 程序,安 全性,多媒体,操作系统外壳等等。在用户进行定制之后,p b 会根据所选择的组 件,自动添加一些必要的组件下面结合本系统的开发要求,有重点的选择几个重 要的组件进行说明,并给出相应的图示。 1 b s p ( 板级开发包) 的选择 因为目标硬件是a r l i l 2 4 1 0 ,所以必须选择s a m s u m gs l f 【d k 2 4 1 0 :a p “9 4 ,同时在 程序编写的初期要在p c 模拟器上进行调试,所以选择了e m u l a t o r :x 8 6 。 第4 章操作系统的定制与系统的初始化 图4 2 b s p 的选择 f i 9 4 2 c h o i c e o f b s p 2 选择基础类库 在这里选择一些常用的组件,因为项目的应用程序用e v c + + 和d i r e c t s h o w 开发,所以最重要的组件包括m f c 以及c o m 、d c 0 m 服务和s t a n d a r ds d kf o r w i n d o w s c e n e t 。 图4 3 基础类库的选择 f i g 4 3c h o i c e o f f o u n d a t i o nc l a s s 嵌入式多媒体播放器的研究与设计 3 选择文件系统 这里主要是对生成的操作系统镜像所使用的文件系统进行配置,对本系统来 说,为了今后支持i d e 设备主要是选择s t o r a g em a n a g e r 下的f a tf i l es y s t e m 。 同时操作系统的一些配置应该保存在注册表中,所以也要选择r e g i s t r ys t o r a g e 下的h i v e - - b a s er e g i s t r y 。 图4 4 文件系统的选择 f i g4 4c h o i c eo f f f l l cs y s t e m 4 选择多媒体技术 本系统是多媒体播放器,在这里选择了大部分的选项。其中b a s i c m u l t i m e d i a ( 基础多媒体技术) 全选。在m u l t i m e d i ac o m p o n e n t s ( 多媒体部件) 中 最重要的当然是与d i r e c t s h o w 相关的组件。 第4 章操作系统的定制与系统的初始化 图4 5 多媒体技术的选择 f i 9 4 5c h o i c e o f m u l t i m e d i a t e c h n o l o g y 4 3 3 编译生成内核镜像文件 经过上节组件的选择后,下面为了生成w i n d o w sc e 的内核镜像文件,在编译 之前还有必要对一些配置文件进行相应的修改,以达到系统的要求。 1 ,把应用程序文件同时编译到内核镜像中: 需要编辑b i b ( b i n a r yi m a g ef i l e ) 文件,b i b 文件定义了哪些模块与文件一起包 含在操作系统镜像内。b i b 文件有两个。p l a t f o r m b i b 与p r o j e c t b i b 。这两个文件的 不同在于p l a t f o r m b i b 文件是硬件特性参数,是基于某种c p u 的公用参数,对它进 行修改会影响到此款c p u 所建立的所有工程:而p r o j e c t b i b 文件是当前工程所用 参数,对它的修改只影响当前的工程。所以要在p r o j e c t ,b i b 文件中添加播放器的可 执行文件的文件名以及文件路径。 2 ,开机直接进入播放器界面: 本系统是专用的多媒体播放器:不能显示w i n d o w sc e 的e x p l o r e r 界面。所以 开机必须直接进入播放器的界面,配置p l a t f o r m r e g 或者c o m m o n r e g ,在 嵌入式多媒体播放器的研究与设计 【h k e l l o c a l _ m a c h i n e 、i i l i t 段添加如下类似内容: ”l a u n c h x x 。= ”p l a y e re x e “d e p e n d x x ”= h e x :y y , z z 其中x x 是十进制的数字, 表示p l a y e r e x e 的启动顺序标识,l a u n c h 后面的 数字越大的越是后启动。y y ,z z 是l e a s ts i g n i f i c a n t 的十六进制数字,表示p l a y e r ,e x e 所依赖的程序的启动顺序标识。 这种方法的效采是系统先启动e x p l o r e r e x e ( 就是看到的默认桌面) ,然后启 动应用程序,但是系统并不希望看到w i n d o w s c e 桌面的界面,如果不显示桌面直 接显示应用程序,可以有另一种方法。这种方法需要先编译一下内核文件,在内 核文件的r e l e a s e 文件夹下修改生成s h e l l r e g 文件: 在文件中有这样一行: 【h k e y - l o c a l _ m a c h i n e k i n i t ”l a u n c h 5 0 2 ”e x p l o r e r e x e ” ”d e p e n d 5 0 ”= h e x :1 4 ,0 0 ,l e ,0 0 把这个e x p l o r e r e x e 改成所需应用程序p l a y e r ,e x e ,重新m a k ei m a g e 之后得到的 就是直接进入应用程序界面的内核了。 4 4b o o t l o a d e r 的修改 4 ,4 1b o o t l _ o a d e r 的作用 b o o t l o a d e r 是在操作系统内核运行之前运行的- d , 段程序。通过这段小程序, 可以初始化硬件设备,建立系统的内存空间映射,从而将系统的软、硬件环境带 到一个已知的状态。以便为最终调用操作系统内核准备好正确的环境。最终, b o o t l o a d e r 把操作系统内核镜像加载到r

温馨提示

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

评论

0/150

提交评论