基于arm9的流媒体播放器的设计课程设计论文大学论文.doc
《基于arm9的流媒体播放器的设计课程设计论文大学论文.doc》由会员分享,可在线阅读,更多相关《基于arm9的流媒体播放器的设计课程设计论文大学论文.doc(36页珍藏版)》请在咨信网上搜索。
1、基于嵌入式ARM920T的视频播放器设计摘要嵌入式技术已经成为了后PC时代的核心技术,而基于嵌入式技术的便携式视频播放器由于体积小、重量轻、携带方便等特点,具有极广的市场前景,所以嵌入式视频播放器成为了现在IT行业研究的热点。本文提出了一种基于ARM9处理器,以嵌入式Linux为底层操作平台的嵌入式视频播放器的设计方案。本文首先介绍了视频播放器软硬件的整体设计方案,然后详细介绍了如何通过移植Bootload、Linux内核和制作根文件系统来完成搭建视频播放器底层操作平台的工作,最后通过移植开源的多媒体播放器软件MPlayer和设计相关控件完成了整个视频播放器的设计工作。最后,总结了论文所做的工
2、作,指出了嵌入式播放器所需要进一步解决和完善的问题。关键词:嵌入式,视频播放器,嵌入式Linux,ARM920TDesign of Video Player Based on Embedded ARM920TAbstractEmbedded technology has become the core technology of the post-PC era, and based on embedded technology of portable video player for small volume, light weight, convenient to carry have a
3、very wide prospect of market, and so embedded video player to become a research focus of the IT industry. This paper puts forward a kind of embedded video player design scheme,the scheme is based on the ARM9 processor ,and the Embedded Linux as the underlying operating platform.This paper first intr
4、oduced the video player overall design scheme of software and hardware ,then detailed in detail how to transplant Bootloader, Linux kernel and make a root file system to complete the work to build a video player underlying operating platform ,finally ,through transplantation of open source multimedi
5、a player software MPlayer and design controls to complete the design work of the video player.Finally, summarize the work of this paper, points out the embedded player which need to be solved and perfected problem.Keywords: Embedded,Video player,Embedded Linux,ARM目录第一章 引言11.1研究背景11.2发展状况和研究意义11.3本文组
6、织结构2第二章 播放器总体设计方案介绍32.1 播发器硬件系统架构32.2 播发器软件系统架构3第三章 系统开发平台的构建4 3.1 软件开发环境介绍43.2 Bootloader的移植53.3 Linux内核的移植73.3.1 Linux内核移植步骤73.3.2 Flash驱动的移植83.3.3 LCD驱动的移植113.3.4 UDA1341音频驱动的移植153.4 根文件系统的制作153.4.1 根文件系统介绍163.4.2 根文件系统构建16第四章 视频播放器的设计与实现184.1 MPlayer多媒体播放器介绍184.2 MPlayer的移植194.3播放器按键驱动程序设计204.4播
7、放器控制程序的设计214.5视频播放器的测试23第五章 总结23参考文献24附录A26第一章 引言1.1研究背景伴随着半导体技术、计算机技术、网络技术和软件技术的飞速发展,现如今,我们已经进入了后PC时代。在这一阶段电子产品的发展趋势是智能化、数字化、网络化、便携轻巧、易于操作,而嵌入式技术(Embedded Technology)的发展为人们提供了一个很好的解决方案。所谓嵌入式是指以应用为中心,以计算机技术为基础,软件、硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统1。嵌入式技术已经被广泛的应用于科学研究、工程设计、军事领域和文艺商业的方方面面,嵌入式产
8、品更是随处可见,比如消费电子产品、车载电子设备、智能家电、MP3、MP4等。如今人们随着生活水平的提高,对视听享受方面的要求也越来越高,人们不单仅仅满足于在电脑上或电视上欣赏高品质的音视频,也渴望能够随时随地的欣赏音乐观看电影,所以基于嵌入式技术的便携式多媒体播放器也成为了现今IT界研究的热点之一。面对广阔的市场需求,海内外的各大厂商也在积极研发自己的产品以抢占市场。基于这一背景,本文提出了一款基于嵌入式Linux操作系统和ARM处理器的视频播放器设计方案。1.2发展状况和研究意义自从2002年法国的爱可视推出全球第一款MP4多媒体Jukebox以来,基于嵌入式技术的便携式视频播放器已经发展了
9、十年,经过这十年的发展,视频播放器技术已日趋成熟,市面上的产品支持的视频格式也越来越多,功能也越来越强大,很多MP4都集成了上网、游戏、个人事务处理甚至是视频录制、数码照相等功能。目前。很多提供视频播放器处理器的半导体厂商都推出有自己的视频播放器硬件解决方案,这些方案可以概括为以下四类:一类是以德州仪器、飞利浦为代表的基于CPU+DSP芯片的解决方案;一类则是以Intel和AMD为代表的基于通用CPU的解决方案;第三种则是以飞思卡尔和深圳安凯为代表的基于MCU芯片的解决方案;第四种是基于双CPU的解决方案4。在软件方面基本上市面上的便携式视频播放器都带有嵌入式操作系统,主要的操作系统有Vxwo
10、rks、Palm OS、Windows CE、Linux、Android以及厂家自己开发的操作系统。生产厂商在设计自己的产品时如果采用上述的硬件方案,都要支付一笔不菲的授权费用,而在嵌入式操作系统的选择上也只有Linux是开源免费的,所以产品成本比较高。ARM处理器具有体积小、功耗低、低成本、高性能等优点,并且支持Linux系统6。所以可以选用ARM处理器配合Linux进行产品的设计,这样可以充分的利用Linux开源的特性,根据需要修改和移植一些免费的开源软件,这样不仅能降低产品研发的难度,加快产品的上市时间,还能省去一笔不菲的软硬件授权费用。1.3本文组织结构本文介绍了一款便携式视频播放器的
11、设计工作,该视频播发器是以ARM处理器为硬件开发平台,嵌入式Linux作为操作系统,通过移植Linux上的一款优秀的开源视频播放器软件MPlayer来实现的。本文共分五章,内容安排如下:第一章,引言。介绍了本文的选题背景,当前国内外的发展状况以及研究意义,并对论文的主要工作进行了简单介绍。第二章,播放器总体设计方案介绍。主要介绍播放器的硬件整体架构和软件系统的层次结构。第三章,系统开发平台的构建。本章详细介绍了Linux系统移植到ARM处理器的过程,Linux的移植主要包括三个方面:Booterloader的移植、Linux内核的移植和根文件的制作。第四章,视频播放器的设计与实现。介绍MPla
12、yer的移植过程和播放器相关控件的设计工作。第五章,总结。第二章 播放器总体设计方案介绍2.1 播发器硬件系统架构本设计将选用国嵌公司生产的GQ2440开发板作为硬件平台,GQ2440是一款ARM9开发板。GQ2440采用的是三星公司生产的S3C2440A处理芯片,主频400MHz,最高可达533MHz。图2.1为视频播放器的硬件系统框图,其中S3C2440处理器除了负责对音视频文件进行解码工作外,还要负责对整个视频播放器进行管理和控制;LCD为播放器的视频输出模块;UDA1341芯片为音频的输出模块,负责将经处理器解码后得到的音频数据转换为模拟信号,并传递给麦克风等输出装置;Flash存储器
13、负责对Linux内核、根文件系统、应用软件和视频文件的存储工作;按键用于完成对视频播放器的控制工作。S3C 2440处理器LCD显示音频(UDA1341)SDRAMFLASH电源按键图2.1 播放器硬件系统框架2.2 播发器软件系统架构由于Linux具有源代码开放、可移植性好、资源丰富、可靠、稳定、免费等特点,所以本文将选用嵌入式Linux作为视频播放器的底层操作平台。而视频播器软件是通过移植Linux下一款优秀的开源视频播放软件MPlayer来实现的。如图2.2所示为视频播放器的整个软件系统层次图。其中Linux内核中的设备驱动负责完成LCD显示器、UDA1314声卡芯片等设备的驱动工作,M
14、Player为视频播放器,处于应用层,利用其完成对各种音视频文件的解码工作。 硬件平台Linux内核 设备驱动应用层MPlayer图2.2 视频播放器软件系统层次第三章 系统开发平台的构建3.1 软件开发环境介绍在嵌入式系统中,由于硬件资源的有限性、差异性,所以需要开发者根据不同的硬件资源对嵌入式的操作系统作出相应的剪裁,从而定制出能够运行在特定目标平台上的嵌入式操作系统。构建一个嵌入式Linux操作系统主要包括三个方面的工作:移植Bootloader,移植Linux内核,构建Linux根文件系统。由于嵌入式系统的特殊性,其硬件资源十分有限,所以不可能在嵌入式操作系统上安装开发工具,也就不可能
15、直接在嵌入式系统上直接进行软件的开发,所以有了交叉开发模型。交叉开发模式是指先在主机上编写程序,然后通过交叉编译工具编译程序,生成目标平台上可运行的二进制文件,最后下载到具体的目标平台上进行运行7。交叉开发模型如图3.1所示。图3.1 交叉开发模型本文是以红帽公司发行的Red Hat Enterprise Linux 5作为宿主机的操作系统进行相关软件开发的,使用的交叉编译工具链为友善之臂公司提供的arm-linux-gcc-4.3.2。3.2 Bootloader的移植Bootloader是在操作系统运行之前执行的一小段程序,它在系统上电时开始执行,初始化硬件设备、建立内存空间的映射表,从而
16、建立适当的系统软硬件环境,为最终调用操作系统内核做好准备6。可以把Bootloader当成PC机的BIOS来理解。嵌入式系统的硬件存在很大的差异性, Bootloader对硬件有很大的依赖性,并且Bootloader引导的操作系统也可能不同,所以在嵌入式世界中建立一个通用的Bootloader是不可能的,不过由于大部分Bootloader任然具有很多共性,所以某些Bootloader也能支持多种不同架构的处理器和操作系统。例如,U-Boot就可以同时支持PowerPC、ARM、MIPS和X86等体系结构。U-Boot是遵循GPL条款的开放源码项目。而今U-Boot作为一个主流Bootloade
17、r,已经成功地被移植到包括PowerPC、ARM、X86、MIPS、NIOS、XScale等主流体系结构上的百种开发板,成为功能最多、灵活性最强,开发性最积极的开源Bootloader。本文将选取U-Boot作为开发板的Bootloader。在开始移植U-Boot之前,应该分析手上的U-Boot源代码已经支持的开发板,选择出硬件配置最接近的开发板作为参考。选择的原则为,首先选择MCU相同的开发板,如果没有,则选择MPU相同的开发板作为参考,这样能大大的降低移植的难度。本文使用的U-Boot版本为u-boot-2009.06,由于U-Boot目前还不支持S3C2440处理器,所以移植的时候可以我
18、们将以SBC2410开发板为参考,移植的工作就是针对S3C2440和s3c2410的不同,以及SBC2410和GQ2440开发板外设的不同做相应的修改。以下为移植的详细步骤:(1)添加新的配置选项。在U-Boot的顶层目录的Makefile文件中定义了所有开发板的配置选项,首先应该为开发板添加新的配置选项,参照SMDK2410的配置,加入如下语句:gq2440_config:unconfig$(MKCONFIG)$(:_config=) arm arm920t gq2440 NULL s3c24x0开发板配置选项中各项的含义如下:arm:表示CPU的架构是ARM体系结构。arm920t:表示C
19、PU的内核类型,对应cpu、arm920t子目录。NULL:这位用于表示开发商者或经销商。S3c24x0:片上系统定义。(2)在board目录下创建开发板目录,并添加文件。在board目录下存放着许多U-Boot支持的开发板的子目录,进行移植时要为具体的开发板建立目录并添加相应文件。这里建立gq2440目录并把用于参考移植的sbc2410x目录下的内容全部拷贝到gq2440目录下,此外还要把拷贝过来的文件内容进行修改,进入gq2440目录,把sbc2410x.c文件重命名为gq2440.c。gq2440.c是本文选用的开发板GQ2440相关的代码,它是由sbc2410x.c直接复制来的所以需要
20、针对GQ2440开发板的硬件特性做修改。(3)为开发板添加新的配置文件。当我们修改好gq2440.c文件后,还应该进入include/configs目录为我们的开发板添加配置文件,可以直接复制一份SBC2410x开发板的配置文件sbc2410x.h,再把它重命名为gq2440.h,然后再根据GQ2440开发板的具体情况进行修改。(4)配置和编译。当完成前面的步骤后就可以进行编译了,执行:make gq2440_config命令将会配置好开发板,接着执行:make CROSS_COMPILE=arm-linux- 命令系统将开始编译U-Boot,编译成功后会得到U-Boot的映像,即可把其下载到
21、开发板上。3.3 Linux内核的移植内核移植主要是指操作系统从一种硬件平台转移到另一种硬件平台上运行。对于嵌入式系统来说,有各种体系结构的处理器平台,使用的外围硬件也不一样。嵌入式Linux严重依赖于具体硬件,所以只要硬件平台有略微差别,也需要做一些移植的工作。3.3.1 Linux内核移植步骤在移植内核前需要在主机上安装好Linux操作系统,以完成对内核代码的配置和编译的工作,本文采用主机安装虚拟机并在虚拟机安装Linux的方法。作为主机,虚拟机安装的是Ret Hat公司发行的 Ret Hat Enterprise Linux 5。本文使用的硬件开发板是GQ2440,GQ2440是参照友善
22、之臂公司设计的Mini2440进行扩展设计的,硬件电路完全相同,自从Linux-2.6-31开始,Linux内核已经官方支持Mini2440,但官方的支持还是很有限。其实Mini2440是参考三星公司的SMDK2440设计而来的,它们的核心电路基本是一样的,而且内核对SMDK2440的支持非常丰富,所以本文将使用Mini2440的配置并以SMDK2440为参考进行移植Linux内核的移植。以下将对移植的步骤进行详细的讲解。(1) 获取源代码。Linux的源代码是开源的,可以到Linux的官方网站: http:/www.kernel.org/上去下载Linux源代码,本文使用的源代码为Linux
23、-2.6-32.2。下载好源代码后我们可以把源代码解压到指定目录,例如执行以下命令我们可以把Linux解压到/home/wusong 目录:tar xvzf linux-2.6-32.2.tar.gz C /home/wusong。解压完后,在/home/wusong目录下将生成一个 Linux-2.6.32.2目录。(2)指定交叉编译变量。Linux内核缺省配置的目标平台是X86的,要使内核能在运行在ARM平台上,需要进入Linux-2.6.32.2目录,修改总目录里的Makefile文件。打开Makefile文件找到以下信息:export KBUILD_BUILDHOST: = $(SUB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 arm9 流媒体 播放 设计 课程设计 论文 大学
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。