完整版基于ARM的Mplayer播放器的移植毕业设计.docx
- 文档编号:7956492
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:31
- 大小:101.01KB
完整版基于ARM的Mplayer播放器的移植毕业设计.docx
《完整版基于ARM的Mplayer播放器的移植毕业设计.docx》由会员分享,可在线阅读,更多相关《完整版基于ARM的Mplayer播放器的移植毕业设计.docx(31页珍藏版)》请在冰豆网上搜索。
完整版基于ARM的Mplayer播放器的移植毕业设计
基于ARM的Mplayer播放器的移植
摘要
目前市场上媒体播放器款式层出不穷。
从原先只能用于欣赏音乐的MP3,至今已经发展成能够播放多种视频,音频格式的MP4,MP5等多功能媒体播放器。
嵌入式系统的官方定义是"以应用为中心、软件硬件可裁剪的、适应应用系统对功能、可靠性、成本、体积、功耗等严格综合性要求的专用计算机系统"。
其硬件以一个高性能的处理器(通常是32位处理器)为基础,软件以一个多任务操作系统为基础,非常适合完成MPlayer移植相关任务。
本次毕业设计任务就是以Linux嵌入式开发为主线,利用X86PC机与ARM2410s嵌入式平台开发多种播放格式的MPlayer。
本系统首先完成X86PC机Linux环境下MPlayer的实现,之后通过QT制作MPlayerGUI,完成MPlayer向ARM2410s嵌入式平台的移植和调试工作。
并且通过研究多种视频的文件格式,使MPlayer能够播放多种视频格式。
该毕业设计完成了任务书的要求。
关键词:
嵌入式;Linux;MPlayer;视频格式;QT
ABSTRACT
Thepresentmarkethasbeenseeingvariousdesignsofmediaplayersemergingoneafteranother.OriginatingfromMP3whichcanonlyservesforappreciatingmusic,themultifunctionalmediaplayersnowadayshavebeendevelopedintoMP4andMP5,whichcandisplaymanyvideoandaudioformats.Basedonthesoftware-hardwarecombinedmultimediaprocessing.Theofficialdefinitionforembeddedsystemisaapplication-centeredwaretailorablededicatedcomputersystemthatcancatertothestrictintegrativerequiresoftheapplicationsystemoffunction,reliability,cost,volumeandpowerdissipation.
ThegraduateprojectplanstodevelopMplayerwithvariousplayformatsusingtheembeddedplatformofX86PCmachineandARM2410S,withthedevelopmentofLinuxembeddedchipsasthemainline.Thesystemfirsthasaccomplishedplayer'simplementationofX86PCmachineundertheenvironmentofLinux,followedwhichMplayerGUIhasbeenconstructedtoachievethetransplantationanddebugfromMplayertoARM2410embeddedplatform.Meanwhile,Mplayerisdesignedtodisplayvariousvideoformatsthoughresearchonthefileformatsofvariousvideos.Thegraduateprojecthasaccomplishedalltherequiresoftheassignment.
Keywords:
embedded;Linux;videoformat;QT
第一章前言.................................................1
1.研究背景和意义...........................................1
2.嵌入式系统概述...........................................2
2.1嵌入式系统定义.........................................2
2.2嵌入式系统构架.........................................3
2.3嵌入式系统开发流程.....................................5
3.研究现状................................................7
3.1嵌入式系统发展现状.....................................7
3.2嵌入式移植研究现状.....................................8
3.3毕设系统研究现状.......................................9
第二章系统分析..........................................10
1.系统通用模型............................................10
2.系统主要任务和目标......................................11
2.1主要研究内容...........................................11
2.2主要目标...............................................11
3.系统结构分析.............................................12
3.1ARM-Linux端............................................12
3.2X86PC端................................................12
4.系统选用的开发工具.......................................12
4.1UP-NETARM2410-S嵌入式开发平台..........................12
4.2Linux操作系统..........................................14
4.3HEXEDIT..............................................16
4.4GCC编译器..............................................17
第三章系统概要设计.....................................21
1.总体设计................................................21
1.1系统体系结构........................................21
1.2基本设计概念........................................22
2.模块设计................................................25
2.1功能-模块对照表.....................................25
2.2各功能模块逻辑关系..................................26
第四章系统详细设计.....................................27
1.嵌入式开发环境的搭建....................................27
2.视频格式分析模块........................................28
2.1模块概述............................................28
2.2模块分析............................................28
3.MPlayer模块............................................36
3.1X86-MPlayer模块.....................................36
3.2ARM-MPlayer模块.....................................39
3.3MPlayer编译指令.....................................40
4.Gcc模块................................................42
4.1Gcc模块定义.........................................42
4.2ARM-Linux-gcc模块安装编译...........................43
5.MINICOM模块............................................44
5.1MINICOM定义.........................................44
5.2配置流程............................................44
6.内核烧录.................................................45
6.1内核介绍............................................45
6.2模块执行流程........................................45
7.GUI模块..............................................47
7.1模块概述............................................47
7.2QT环境搭建..........................................47
7.3插槽机制............................................49
7.4主要数据结构和服务方法..............................51
第五章系统测试............................................54
1.测试计划................................................54
1.1测试对象............................................54
1.2测试目标............................................54
1.3测试原则............................................55
1.4测试策略............................................56
2.测试过程................................................56
2.1模块测试............................................56
2.2模块集成测试........................................59
2.3系统测试............................................61
3.错误总结................................................62
3.1Mplayer移植错误分析.................................62
3.2内核声卡驱动BUG消除................................63
第六章结论.........................................67
1.本系统特色..............................................67
2.开发心得................................................67
参考文献......................................................70
第一章前言
1.研究背景和意义
随着科学技术的迅猛发展,人们的物质生活逐步得到改善,对精神层面的需求逐渐增强。
由于不满足于仅在家中欣赏电视提供的多媒体,便携的媒体播放器应运而生。
随着计算机和信息技术快速发展,人们对媒体播放器也提出了更加苛刻的要求。
比如更动听的音质,更多的视频音频支持格式,更加人性化的操作界面等等。
嵌入式系统是面向用户、面向产品、面向应用的专用计算机系统,不能独立于应用而自行发展,否则会失去市场。
嵌入式系统的核心部件即嵌入式微处理器的功耗、体积、成本、处理能力和电磁兼容性等均受应用要求的制约,这些方面也正是各个半导体厂商竞争的热点。
嵌入式系统的硬件、软件设计都必须精心考虑,力争在同样的硅片面积上实现更高的性能,只有如此才能在具体应用时在处理器的选择面前更具有行业竞争力。
嵌入式处理器必须针对其用户的需求,对芯片配置进行裁剪才能符合性能标准。
由于嵌入式系统和具体应用有机结合起来,才能广泛应用于各种行业。
如图1-1所示。
1-1嵌入式系统应用
多媒体技术的快速发展,在媒体播放方面独占鳌头的则是新兴的开源软件MPlayer。
MPlayer是Linux下最优秀的多媒体播放器之一,它的播放速度最快,支持的文件格式也最多,在X86PC机上运行很稳定,将其移植到精简指令集的嵌入式系统中去,是十分有价值的。
由于MPlayer其开源的特性,使得修改,定制一份具有针对性的MPlayer成为可能。
并随着MPlayer版本的提高,功能与稳定性的不断完善,使用MPlayer作为媒体播放器的产品将成为趋势。
由于开源软件免费的特性,使用MPlayer开发的产品将能够节省软件方面的成本。
因此,对于MPlayer移植的可行性的分析与实现,十分具有现实意义。
2.嵌入式系统概述
2.1嵌入式系统定义
目前嵌入式系统已经渗透到我们生活中的每个角落,其地位和价值已经不可取代。
嵌入式系统一个普遍被认同的定义是:
以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
可从几方面来理解嵌入式系统:
1、嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合
才会更具有优势。
因此嵌入式系统具有很强的专用性,必须结合实际系统需求进行合理的裁减使用。
2、嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各个行业具体应用相结合后的产物。
这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
所以,介入嵌入式系统行业,必须有一个正确的定位。
3、嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。
目前嵌入式系统的核心往往是一个只有几K到几十K的微内核,需要根据实际的使用进行功能扩展或者裁减。
由于微内核的存在,使得这种扩展能够非常顺利的进行。
2.2嵌入式系统构架
一般而言,嵌入式系统的构架可以分成四个部分:
处理器、存储器、输入输出(I/O)和软件。
核心部件是嵌入式处理器。
嵌入式处理器是为了完成专门的应用而设计的特殊目的的处理器。
嵌入式处理器一般分成如下四类:
1、嵌入式微处理器(EmbeddedMicroProcessorUnit,EMPU)。
在通用计算机CPU的基础上,在工作温度、抗电磁干扰及可靠性等方面都做了各种增强。
在使用EMPU构建母板时,只保留和具体嵌入式应用相关的部件,可以大幅度减小系统体积和功耗。
嵌入式微处理器目前主要有AmI86/88、386EX、SC-400、PowerPC、68000、MIPS和ARM系列等。
2、嵌入式微控制器(MicroControllerUnit,MCU)。
将整个计算机系统都集成到一块芯片中,也可以称为单片机。
与微处理相比,微控制器的体积较小,成本也较低,但是灵活性、系统资源有限,而且很难进行扩展。
3、嵌入式DSP处理器(EmbeddedDigitalSignalProcessor,EDSP)。
DSP处理对系统结构和指令进行了特殊设计,使其适合与执行DSP算法,编译效率较高,指令执行速度较高。
4、嵌入式片上系统(SystemonChip,SOC)。
随着EDI的推广和VLSI设计的普及化及半导体工艺的迅速发展,在一块芯片里面可以实现复杂的系统。
SOC很大程度地减小了系统的体积和功耗,提高可靠性。
如图1-2所示:
图1-2嵌入式系统构架
在嵌入式系统中,为了有效地管理硬件资源以及多任务处理操作,在用户应用程序和嵌入式硬件之间加入了一层软件系统,称为嵌入式操作系统。
操作系统包括存储器管理、硬件设备管理、中断处理、任务间通信、任务调度以及定时器管理等软件模块。
嵌入式操作系统的引入,为用户应用程序的设计提供编程接口。
用户应用程序使用这些编程接口可以实现复杂的逻辑功能。
但是嵌入式操作系统本身需要一定的系统资源,而在嵌入式系统中,系统资源是有限的。
这就需要对嵌入式操作系统进行特别设计。
目前,应用比较广泛的嵌入式操作系统主要有:
C/OS-Ⅱ、uCLinux、ARM-Linux、VxWorks、pSOS、Nucleus、PlamOS、WindowsCE、EmbeddedLinux、ECOS、QNX、Lynx以及Symbian等。
2.3嵌入式系统开发流程
嵌入式系统开发采用生命周期的方法,整个过程可以分为:
1、需求分析阶段
2、设计阶段(包括硬件与软件的规格要求)
3、生成代码阶段(编程、测试和调试)
绝大多数软件开发都是基于native方式,在通用微机上进行本机编辑、本机编译、本机链接、本机调试、本机运行。
但嵌入式软件的开发都是在支持交叉编译的环境下进行,这是一套编译器、连接器和libc库等组成的集成开发环境。
宿主机上交叉编译、交叉调试,目标机上运行被调试程序。
如图1-3为流程说明图:
图1-3嵌入式软件开发流程
交叉编译,就是在一台电脑上生成能够在另外一台电脑上执行程序的代码。
除了兼容性扩展的优势之外,交叉编译还以下两个优点:
一是当目标系统对其可用的编译工具没有本地配置时,往往采用交叉编译来提供方便;二是当主机系统比目标系统要快得多,或者具有多得多的可用资源时,也会经常采用交叉编译的方法。
尤其是第二点非常重要,因为绝大部分嵌入式系统并没有能够编译生成可执行程序的能力,它们需要宿主机来帮助生成用来执行的代码程序。
本毕业设计系统建立交叉编译环境,利用可移植性强的C语言在宿主机上编辑并交叉编译MPlayer等一系列程序,再利用交叉编译调试工具链接生成可执行代码,最后向目标平台移植运行。
3.研究现状
3.1嵌入式系统发展现状
嵌入式系统的核心部件是各种类型的嵌入式处理器,据不完全统计,全世界嵌入式处理器的品种已有上千种之多。
几十年来,各种4、8、16和32位的处理器在嵌入式系统中都有广泛应用。
嵌入式系统的处理器可以分为两大类:
一类是采用通用计算机的CPU为处理器,如X86系列;另一类为微控制器和DSP,微控制器具有单片化、体积小、功耗低、可靠性高、芯片上的外设资源丰富等特点,成为嵌入式系统的主流器件。
当前,嵌入式系统处理器的发展趋势主要采用32位嵌入式CPU,其主流系列有ARM(包括Intel公司的strongARM和XScale)、MIPS和SH三大系列。
嵌入式系统CPU的另一类型为DSP。
当前,DSP处理器的典型结构是单片化嵌入式DSP,如TI公司的TMS320系列;另一类是在通用CPU或单片系统中增加DSP协处理器,如Intel公司的MCS-296等。
还有一种类型是选用嵌入式单片系统SOC(SystemOnaChip)。
其中,特别要指出,RISC技术为计算机体系结构带来了一次重大的变革。
简单的、固定长度的、单周期执行指令的RISC计算系统,与传统、复杂、可变长度指令并行执行的CISC计算机系统相比较,在相同的条件下,RISC技术的速度快2~5倍,具有巨大的性价比优势。
RISC技术推动着计算机体系结构从封闭的CISC向开放的结构发展。
因此,世界上各大CPU芯片制造厂商争相开发生产RISC芯片,目前的典型结构为ARM系列、MIPS和SH32位字长,最高时钟速率可达600MHz。
多种嵌入式实时操作系统大都支持上述RISC处理器。
近几年嵌入式系统技术发展有以下几个显著的变化:
1、新的处理器越来越多。
一方面,嵌入式操作系统自身结构的设计更易于移植;另一方面,系统应能使用驱动程序开发与配置环境,造就一个新的BSP(板级支持包)和驱动程序结构,以适应微处理器的不断升级变化。
2、开放源码之风己波及嵌入式操作系统厂家。
越来越多的嵌入式操作系统厂家出售产品时,同时附加了源程序代码并含生产版税。
3、电信设备、控制系统要求的高可靠性,对嵌入式操作系统提出了新的要求。
各类通用机上使用的新技术、新观念正逐步移植到嵌入式系统中,如动态数据库、移动代理等。
4、主要由于人们对自由软件的渴望与嵌入式系统应用的定制性,要求提供系统源码层次上的支持,而嵌入式Linux适应了这一需求。
它具有开放源代码,系统内核小、效率高、内核网络结构完整等特点,裁减后的系统很适于如信息家电等嵌入式系统的开发。
5、嵌入式系统的多媒体化和网络化方向趋势,特别是嵌入式系统技术与Internet、无线网络等通讯手段的结合。
上述变化孕育嵌入式系统即将进入一个高速发展的新时期。
在不久的将来,嵌入式系统应用将越来越多样化。
它不仅仅局限于传统的控制领域,例如信息家电、工业、农业、商业、服务业等各行各业,而且将渗透到社会和家庭的各个角落。
嵌入式系统的未来将更加绚丽缤纷。
3.2嵌入式移植研究现状
目前,对嵌入式Linux系统的开发正在蓬勃兴起,并已形成了很大的市场。
除了一些传统的Li
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 基于 ARM Mplayer 播放 移植 毕业设计