基于ARM9的Mplayer播放器的移植计算机与电子技术等专业毕业设计毕业论文.doc_第1页
基于ARM9的Mplayer播放器的移植计算机与电子技术等专业毕业设计毕业论文.doc_第2页
基于ARM9的Mplayer播放器的移植计算机与电子技术等专业毕业设计毕业论文.doc_第3页
基于ARM9的Mplayer播放器的移植计算机与电子技术等专业毕业设计毕业论文.doc_第4页
基于ARM9的Mplayer播放器的移植计算机与电子技术等专业毕业设计毕业论文.doc_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

摘 要目前市场上媒体播放器款式层出不穷。从原先只能用于欣赏音乐的MP3,至今已经发展成能够播放多种视频,音频格式的MP4,MP5等多功能媒体播放器。嵌入式系统的官方定义是以应用为中心、软件硬件可裁剪的、适应应用系统对功能、可靠性、成本、体积、功耗等严格综合性要求的专用计算机系统。其硬件以一个高性能的处理器(通常是32位处理器)为基础,软件以一个多任务操作系统为基础,非常适合完成MPlayer移植相关任务。本次毕业设计任务就是以Linux嵌入式开发为主线,利用X86PC机与ARM2410s嵌入式平台开发多种播放格式的MPlayer。本系统首先完成X86PC机Linux环境下MPlayer的实现,之后通过QT制作MPlayer GUI,完成MPlayer 向ARM2410s嵌入式平台的移植和调试工作。并且通过研究多种视频的文件格式,使MPlayer能够播放多种视频格式。该毕业设计完成了任务书的要求。 关键词:嵌入式;Linux;MPlayer;视频格式;QT ABSTRACT The present market has been seeing various designs of media players emerging one after another. Originating from MP3 which can only serves for appreciating music, the multifunctional media players nowadays have been developed into MP4 and MP5, which can display many video and audio formats. Based on the software-hardware combined multimedia processing. The official definition for embedded system is a application-centered ware tailorable dedicated computer system that can cater to the strict integrative requires of the application system of function, reliability, cost, volume and power dissipation.The graduate project plans to develop Mplayer with various play formats using the embedded platform of X86PC machine and ARM2410S, with the development of Linux embedded chips as the main line. The system first has accomplished players implementation of X86PC machine under the environment of Linux, followed which Mplayer GUI has been constructed to achieve the transplantation and debug from Mplayer to ARM2410 embedded platform. Meanwhile, Mplayer is designed to display various video formats though research on the file formats of various videos. The graduate project has accomplished all the requires of the assignment. Key words: embedded; Linux; video format; QT 目 录 第一章 前言.1 1. 研究背景和意义.1 2. 嵌入式系统概述.2 2.1 嵌入式系统定义 .2 2.2 嵌入式系统构架 .3 2.3 嵌入式系统开发流程 .5 3. 研究现状.7 3.1 嵌入式系统发展现状 .73.2 嵌入式移植研究现状 .83.3 毕设系统研究现状 .9第二章 系统分析 .10 1. 系统通用模型. 10 2. 系统主要任务和目标. 11 2.1 主要研究内容 .112.2 主要目标 .113. 系统结构分析.12 3.1 ARM-Linux 端.123.2 X86PC 端.124. 系统选用的开发工具.12 4.1 UP-NETARM2410-S 嵌入式开发平台.124.2 Linux 操作系统.144.3 HEX EDIT .164.4 GCC 编译器.17第三章 系统概要设计 . 211. 总体设计. 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.1 X86-MPlayer 模块. 36 3.2 ARM-MPlayer 模块. 39 3.3 MPlayer 编译指令. 40 4. Gcc 模块 . 42 4.1 Gcc 模块定义. 42 4.2 ARM-Linux-gcc 模块安装编译. 43 5. MINICOM 模块 . 44 5.1 MINICOM 定义. 44 5.2 配置流程 . 44 6.内核烧录. 45 6.1 内核介绍 . 45 6.2 模块执行流程 . 45 7. GUI 模块 .47 7.1 模块概述 . 47 7.2 QT 环境搭建. 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.1 Mplayer 移植错误分析. 62 3.2 内核声卡驱动 BUG 消除 . 63 第六章 结 论 . 67 1. 本系统特色. 67 2. 开发心得. 67 参考文献 . 70 第一章 前 言 1. 研究背景和意义 随着科学技术的迅猛发展,人们的物质生活逐步得到改善,对精神层面的需求逐渐增强。由于不满足于仅在家中欣赏电视提供的多媒体,便携的媒体播放器应运而生。随着计算机和信息技术快速发展,人们对媒体播放器也提出了更加苛刻的要求。比如更动听的音质,更多的视频音频支持格式,更加人性化的操作界面等等。嵌入式系统是面向用户、面向产品、面向应用的专用计算机系统,不能独立于应用而自行发展,否则会失去市场。嵌入式系统的核心部件即嵌入式微处理器的功耗、体积、成本、处理能力和电磁兼容性等均受应用要求的制约,这些方面也正是各个半导体厂商竞争的热点。嵌入式系统的硬件、软件设计都必须精心考虑,力争在同样的硅片面积上实现更高的性能,只有如此才能在具体应用时在处理器的选择面前更具有行业竞争力。嵌入式处理器必须针对其用户的需求,对芯片配置进行裁剪才能符合性能标准。由于嵌入式系统和具体应用有机结合起来,才能广泛应用于各种行业。如图1-1所示。1-1 嵌入式系统应用 多媒体技术的快速发展,在媒体播放方面独占鳌头的则是新兴的开源软件MPlayer。MPlayer是Linux下最优秀的多媒体播放器之一,它的播放速度最快,支持的文件格式也最多,在X86 PC机上运行很稳定,将其移植到精简指令集的嵌入式系统中去,是十分有价值的。由于MPlayer其开源的特性,使得修改,定制一份具有针对性的MPlayer成为可能。并随着MPlayer版本的提高,功能与稳定性的不断完善,使用MPlayer作为媒体播放器的产品将成为趋势。由于开源软件免费的特性,使用MPlayer开发的产品将能够节省软件方面的成本。因此,对于MPlayer移植的可行性的分析与实现,十分具有现实意义。 2. 嵌入式系统概述 2.1 嵌入式系统定义目前嵌入式系统已经渗透到我们生活中的每个角落,其地位和价值已经不可取代。嵌入式系统一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。可从几方面来理解嵌入式系统:1、 嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合 才会更具有优势。因此嵌入式系统具有很强的专用性,必须结合实际系统需求进行合理的裁减使用。2、嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各个行业具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。所以,介入嵌入式系统行业,必须有一个正确的定位。3、嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。目前嵌入式系统的核心往往是一个只有几 K 到几十 K 的微内核,需要根据实际的使用进行功能扩展或者裁减。由于微内核的存在,使得这种扩展能够非常顺利的进行。2.2 嵌入式系统构架一般而言,嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(I/O)和软件。核心部件是嵌入式处理器。嵌入式处理器是为了完成专门的应用而设计的特殊目的的处理器。嵌入式处理器一般分成如下四类:1、嵌入式微处理器(Embedded MicroProcessor Unit,EMPU)。在通用计算机CPU的基础上,在工作温度、抗电磁干扰及可靠性等方面都做了各种增强。在使用EMPU构建母板时,只保留和具体嵌入式应用相关的部件,可以大幅度减小系统体积和功耗。嵌入式微处理器目前主要有AmI86/88、386EX、SC-400、Power PC、68000、MIPS和ARM系列等。2、嵌入式微控制器(MicroController Unit,MCU)。将整个计算机系统都集成到一块芯片中,也可以称为单片机。与微处理相比,微控制器的体积较小,成本也较低,但是灵活性、系统资源有限,而且很难进行扩展。3、嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP)。DSP处理对系统结构和指令进行了特殊设计,使其适合与执行DSP算法,编译效率较高,指令执行速度较高。 4、嵌入式片上系统(System on Chip,SOC)。随着EDI的推广和VLSI设计的普及化及半导体工艺的迅速发展,在一块芯片里面可以实现复杂的系统。SOC很大程度地减小了系统的体积和功耗,提高可靠性。如图1-2所示: 图1-2 嵌入式系统构架在嵌入式系统中,为了有效地管理硬件资源以及多任务处理操作,在用户应用程序和嵌入式硬件之间加入了一层软件系统,称为嵌入式操作系统。操作系统包括存储器管理、硬件设备管理、中断处理、任务间通信、任务调度以及定时器管理等软件模块。嵌入式操作系统的引入,为用户应用程序的设计提供编程接口。用户应用程序使用这些编程接口可以实现复杂的逻辑功能。但是嵌入式操作系统本身需要一定的系统资源,而在嵌入式系统中,系统资源是有限的。这就需要对嵌入式操作系统进行特别设计。目前,应用比较广泛的嵌入式操作系统主要有:mC/OS-、uCLinux、ARM-Linux、VxWorks、pSOS、Nucleus、PlamOS、Windows CE、Embedded Linux、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公司的strong ARM和XScale)、MIPS和SH三大系列。嵌入式系统CPU的另一类型为DSP。当前,DSP处理器的典型结构是单片化嵌入式DSP,如TI公司的TMS320系列;另一类是在通用CPU或单片系统中增加DSP协处理器,如Intel公司的MCS-296等。还有一种类型是选用嵌入式单片系统SOC(System On a Chip)。其中,特别要指出,RISC技术为计算机体系结构带来了一次重大的变革。简单的、固定长度的、单周期执行指令的RISC计算系统,与传统、复杂、可变长度指令并行执行的CISC计算机系统相比较,在相同的条件下,RISC技术的速度快25倍,具有巨大的性价比优势。RISC技术推动着计算机体系结构从封闭的CISC向开放的结构发展。因此,世界上各大CPU芯片制造厂商争相开发生产RISC芯片,目前的典型结构为ARM系列、MIPS和SH32位字长,最高时钟速率可达600MHz。多种嵌入式实时操作系统大都支持上述RISC处理器。近几年嵌入式系统技术发展有以下几个显著的变化:1、新的处理器越来越多。一方面,嵌入式操作系统自身结构的设计更易于移植;另一方面,系统应能使用驱动程序开发与配置环境,造就一个新的BSP(板级支持包)和驱动程序结构,以适应微处理器的不断升级变化。2、开放源码之风己波及嵌入式操作系统厂家。越来越多的嵌入式操作系统厂家出售产品时,同时附加了源程序代码并含生产版税。3、电信设备、控制系统要求的高可靠性,对嵌入式操作系统提出了新的要求。各类通用机上使用的新技术、新观念正逐步移植到嵌入式系统中,如动态数据库、移动代理等。4、主要由于人们对自由软件的渴望与嵌入式系统应用的定制性,要求提供系统源码层次上的支持,而嵌入式Linux适应了这一需求。它具有开放源代码,系统内核小、效率高、内核网络结构完整等特点,裁减后的系统很适于如信息家电等嵌入式系统的开发。5、嵌入式系统的多媒体化和网络化方向趋势,特别是嵌入式系统技术与Internet、无线网络等通讯手段的结合。上述变化孕育嵌入式系统即将进入一个高速发展的新时期。在不久的将来,嵌入式系统应用将越来越多样化。它不仅仅局限于传统的控制领域,例如信息家电、工业、农业、商业、服务业等各行各业,而且将渗透到社会和家庭的各个角落。嵌入式系统的未来将更加绚丽缤纷。 3.2 嵌入式移植研究现状 目前,对嵌入式Linux系统的开发正在蓬勃兴起,并已形成了很大的市场。除了一些传统的Linux公司,像RedHat、VA Linux等,正在从事嵌入式Linux的研究之外,一批新公司(如Lineo、TimeSys等)和一些传统的大公司(如IBM、SGI、Motorola、Intel等)以及一些开发专用嵌入式操作系统的公司(如Lynx)也都在进行嵌入式Linux的研究和开发。一方面因为像数码相机、MP3播放机、PDA、游戏机和移动电话等手持设备以及各种信息家电等有更高性能要求的多媒体和通信设备的推出。在这些应用中,庞大的多媒体数据必然需要更大的存储空间,目前许多32位微控制器都可以使用SDRAM,因此可极大地降低使用更大容量数据存储器的成本;而8位微控制器一般只能使用成本较高的SRAM作为数据在座器。此外除了处理应用控制功能之外,需支持互联网接入的应用在MCU运行TCP/IP或其它通信协议的情况下,要求系统建立在RTOS上就必然成为一种现实需求。另外,有越来越多的像电视机、汽车音响及电子玩具等传统应用也与时俱进地提出数字化和硬件软化的要求,它们对计算性能的要求及存储器容量的需求都超出绝大多数8位微控制器能提供的范围。另一方面由于IT技术发展的推动,32位ARM体系结构已经成为一种事实上的标准,随着高端32位CPU价格的不断下降和开发环境的成熟,促使32位嵌入式处理器日益挤压原先由8位微控制器主导的应用空间。随着ARM处理器在全球范围的流行,32位的RISC嵌入式处理器已经开始成为高中端嵌入式应用和设计的主流。另外,越来越多的设计师认识到,转用32位架构不令能提升性能,还能降低相同成本下的系统功耗和节约总成本以及缩短产品上市时间。这个转变为设计师提供了可随着产品的性能和需求不断扩展而升级的方案。3.3 毕设系统研究现状 本系统主要利用ARM2410s嵌入式平台开发多种播放格式的MPlayer。其中主要在开发平台上构建了一个播放器GUI来调用MPlayer播放视频,并通过对视频格式的研究,使之能播放多种视频格式,本课题主要涉及的工作如图1-4所示: 图1-4 系统主要涉及工作第二章 系统分析1. 系统通用模型 MPlayer能使用众多本地的 Xanim,RealPlayer 和 Win32 DLL 编解码器,可播放MPEG、VOB、AVI、OGG、VIVO、ASF/WMV、QT/MOV、FLI、RM、NuppelVideo、 yuv4mpeg、FILM、RoQ文件。MPlayer的另 一个大的特色是支持广泛的输出设备,它可以在X11、Xv、DGA、OpenGL、SVGAlib、fbdev、Aalib、DirectFB下工作,而且你也能使用GGI和SDL(由此使用它们支持的各种驱动模式)和一些低级的硬件相关的驱动模式。这个播放器能很稳定地播放被破坏的MPEG文件,并且它能播放 Windows Media Player都打不开的有损坏的AVI文件,甚至,没有索引部分的AVI文件也可以播放。实现MPlayer的嵌入式移植,主要采用以下的模型,即X86PC机上MPlayer的实现+S3C2410开发板上的移植。如图2-1所示: 图2-1 MPlayer的嵌入式移植模型 (1)X86PC机上MPlayer的实现通过编译MPlayer源文件、解码库、GUI文件、字体文件,完成X86PC机上MPlayer的实现。(2)ARM2410s开发板上的移植QT制作播放器的 GUI,并实现多种视频文件的播放。最终完成向ARM2410s开发板的移植工作。 2. 系统主要任务和目标S3C2410 属于精简指令集 CPU,定点计算,没有 MMX(Multi Media eXtension,多媒体扩展指令集)指令,不支持硬件浮点计算,对大尺寸多媒体的编解码能力仍显不足,因而应用在真正媒体播放场合性能达不到要求。但 S3C2410 与高端处理器相比价格低廉,通过合理的设计系统软硬件,可以实现低端的视频应用,用于衡量 MPlayer 移植的可行性。2.1 主要研究内容 1、针对 MPlayer 开源的特性,充分了解 MPlayer 的运行原理。2、研究各种视频格式的原理、结构,为 MPlayer 播放这些视频格式提供支持。3、实现 X86PC 机向 ARM2410s 平台的移植并调试。4、研究 QT 图形界面设计的详细过程。2.2 主要目标1、系统操作简单,易于使用。简洁明了的图形化操作界面能够使操作人员很快地熟悉系统的使用,从而提高用户体验。因此在开发本系统时力求软件的简单易用性,只需点击按钮即可进行 MPlayer 的控制操作。2、可靠性好,系统稳定。为加强用户体验,在简化操作的同时,要保证系统 CPU 占用率保持在合理的范围,使视频能正常、流畅地播放。3、可维护性好。各模块相互独立,便于修改和更新。4、在实现此系统的过程中尽量遵循开放性标准,提高代码的重用性。3. 系统结构分析本次毕业设计基于嵌入式平台的MPlayer移植是主要围绕Linux主机和ARM2410s开发板,按照嵌入式开发流程进行的设计与开发。ARM2410s开发板作为服务器端,作为MPlayer的播放屏幕和控制屏幕。移植成功的MPlayer能够在开发板上实现视频的控制。Linux机作为监控主机,进行播放信息的监控,CPU占用等一系列参数的测定。3.1 ARM-Linux 端1、ARM-MPlayer模块:编译在ARM2410s开发板上运行的MPlayer2、ARM-Linux-gcc模块:实现ARM环境下编译环境的搭建。3、MINICOM模块:实现X86PC机与ARM端的通信模块。进行ARM端的连接,挂载,运行等操作。4、内核烧录模块:重新编译并烧录内核,消除音频BUG。3.2 X86PC 端 1、X86-MPlayer模块:采用GCC编译器,编译 X86PC端能够播放的MPlayer版本。2、视频格式分析模块:将服务器端播放的视频状态以及CPU占用等一 系列参数直观地显示在客户端主机上。3、GUI模块:实现在ARM410s开发板上进行视频控制。4、Linux-gcc模块:实现X86PC环境下编译器的搭建。 4. 系统选用的开发工具4.1 UP-NETARM2410-S 嵌入式开发平台 咱们用的是zlg magicarm2410,和这个博创是2个公司出的,不要混淆了!本系统平台采用 Samsung 公司的处理器 S3C2410。该处理器内部集成了 ARM 公司 ARM920T 处理器核的 32 位微控制器,资源丰富,带独立的16KB 的指令 Cache 和 16KB 数据 Cache、LCD 控制器(最高 4K 色 STN 和256K 彩色 TFT,一个 LCD 专用 DMA)、RAM 控制器、NAND 闪存控制器、3 路 UART、4 路带外部请求线的 DMA、4 个 PWM 定时器和一个内部定时器、看门狗定时器、并行 I/O 口、8 通道 10 位 ADC、触摸屏接口、一个多主 IIC 总线、一个 IIS 总线控制器、117 个通用 IO、24 个外部中断、2 个 USB接口控制器、2 路 SPI,主频最高可达 203MHz、芯片内置 PLL。在处理器丰富资源的基础上,还进行了相关的配置和扩展,平台配置了 16MB 16 位的 Flash 和 64MB 32 位的 SDRAM。通过以太网控制器芯片 DM9000E 扩展了一个网口,另外引出了一个 HOST USB 接口。16/32 位精简指令体系结构,使用支持 ARM 调试的体系结构 ARM920TCPU 核的强大指令集,指令缓存(cache)、数据缓存、写缓冲和物理地址TAG RAM,减小了对主存储器带宽和性能的影响,ARM 带 MMU(Multi Media eXtension,多媒体扩展指令集)的先进的体系结构,支持 Wince、Epoc32、Linux。UP-NETARM2410-S 嵌入式开发平台如下图 2-2 所示:图 2-2 UP-NETARM2410-S 嵌入式开发平台4.2 Linux 操作系统嵌入式操作系统,通常包括与硬件相关的底层驱动软作为件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点:能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。几种代表性嵌入式操作系统比较(如下表 2-1 所列): 表 2-1 四款嵌入式系统优缺点对比列表 VxWorks美国 WindRiver 公司于 1983 年设计开发的一种嵌入式实时操作系统(RTOS),良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌人式实时操作系统领域逐渐占据一席之地。具有微内核结构可裁剪;任务管理高效;任务间通讯灵活;微秒级的中断处理;支持 POSIX 1003.1b 实时扩展标准和多种物理介质及标准完整的TCP/IP 网络协议等优点。然而由于是专用操作系统,其价格昂贵,一般不通供源代码,软件的开发和维护成本都非常高,支持的硬件数量也有限。Windows CE对 Windows系列有较好的兼容性。其中 WinCE3.0 是一种针对小容量、移动式、智能化、32 位、了解设备的模块化实时嵌人式操作系统。它是从整体上为有限资源的平台设计的多线程、完整优先权、多任务操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。但是由于没有开放源代码,使应用开发 15 人员很难实现产品定制;在效率、功耗方面表现也并不出色,占用过多的系统内存,运用程序庞大;版权许可费也是厂商不得不考虑的因素。C/OS-C/OS-是著名的源代码公开的实时内核,是专为嵌入式应用设计的,可用于8位、16 位和 32 位单片机或数字信号处理器(dsp)。主要特点:公开源代码;便于移植;可固化;可裁剪;占先式;多任务;函数调用与服务的执行时间具有可确定性。由于仅是一个实时内核,这就意味着它不能提供给用户一些API函数接口,还有很多工作需要用户自己去完成。嵌入式Linux嵌入式操作系统的研究热点,最大的特点是:1 源代码公开,系统遵循世界标准规范,特别是遵循开放系统互连国际标准,文档资料齐全可修改性强。支持多种体系结构,凡遵循国际标准所开发的硬件和软件,都能彼此兼容。 2 多用户:系统资源可以被不同用户各自拥有使用,互不影响。3多任务:Linux 系统调度每一个进程平等地访问微处理器。4良好的用户界面:Linux 向用户提供了两种界面:命令行界面和图形用户界面。5设备独立性:Linux 内核具有高度适应能力,用户可以修改内核源代码,以便适应新增加的外部设备。6丰富的网络功能: Linux 为用户提供了优于其他操作系统的完善强大的网络功能。7可靠的系统安全:Linux 采取了许多安全技术措施,包括对读、写进行权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。8 良好的可移植性:Linux 是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。可移植性为运行Linux的不同计算机平台与其他任何机器进行准确而有效的通信提供了手段。但是在嵌入式系统上运行 Linux 的一个缺点是Linux 体系提供实时性能需要添加实时软件模块,而这些模块运行的内核空间正是操作系统实现调度策略、硬件中断异常和执行程序的部分。一旦出现代码错误就可能会破坏操作系统从而影响整个系统的可靠性。对比了几款代表性的嵌入式操作系统的优缺点,发现嵌入式 Linux 各方面有点突出,性价比高,比较合适本毕业设计系统的开发,所以在开发板端和主机端都选用嵌入式 Linux 作为操作系统。4.3 HEX EDIT十六进制查看器。进行视频格式的分析,采集,为 MPlayer 播放多种视频格式提供支持。如图 2-3 为 HEX EDIT 的用户界面:HEX EDIT 的用户界面 图 2-3 HEX EDIT 的用户界面4.4 GCC 编译器 Linux 系统下的 GCC(GNU C Compiler)是 GNU 推出的功能强大、性能优越的多平台编译器,是 GNU 的代表作品之一。GCC 是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高 20%30%。GCC 编译器能将 C、C+语言源程序、汇程式化序和目标程序编译、连接成可执行文件,如果没有给出可执行文件的名字,GCC 将生成一个名为a.out 的文件。在 Linux 系统中,可执行文件没有统一后缀,系统从文件的属性来区分可执行文件和不可执行文件,GCC 则通过后缀来区别输入文件的类别。使用 GCC 由 C 语言源文件生成可执行文件的过程不仅仅是编译的过程,而要经历四个相互关联的步骤:预处理(也称预编译,Preprocessing)、1】编译(Compilation)、汇编(Assembly)和连接(Linking) 。命令 GCC 首先调用cpp 进行预处理,在预处理过程中,对源代码文件中的文件包含(include)、预编译语句(如宏定义 define 等)进行分析。接着调用 cc1 进行编译,这个阶段根据输入文件生成以.o 为后缀的目标文件。汇编过程是针对汇编语言的步骤,调用 as 进行工作,一般来讲,.S 为后缀的汇编语言源代码文件和汇编、.s为后缀的汇编语言文件经过预编译和汇编之后都生成以.o 为后缀的目标文件。当所有的目标文件都生成之后,GCC 就调用 ld 来完成最后的关键性工作,这个阶段就是连接。在连接阶段,所有的目标文件被安排在可执行程序中的恰当位置,同时,该程序所调用到的库函数也从各自所在的档案库中连到合适的地方。以上就是 GCC 的执行过程。如图 2-4 为 GCC 流程结构图:2-4 GCC 流程结构图 5. 可行性分析 本次毕业设计是要实现多种播放格式的 MPLAYER 嵌入式移植实现,其中有两个最困难的部分:1、由于 MPlayer 和 GCC 编译器不兼容的问题,需要选择合适的 MPlayer版本和 GCC 版本。否则出现编译无法通过的错误。2、由于本次毕业设计系统不是纯软件系统,涉及到开发板硬件的使用和开发板 Linux 主机间的通信,偶尔出现硬件故障也是不可避免的,所以只能尽量避免硬件故障和及时处理故障。另外,在体系结构的总体把握、设计和嵌入式模块的整合方面,良好的设计和完整的整合技术也是该课题的难点之一。嵌入式产业技术日新月异,相关的新技术层出不穷,但其兼容性还有待改善。本课题就是在这种形势下,采用最前沿的嵌入式移植技术来完成系统模型。虽然系统的实现存在难点而且还有许多问题亟待解决,但是总体分析的结果该系统还是可行的。相信通过努力,能够完成该课题。 第三章 系统概要设计1. 总体设计1.1 系统体系结构本系统的体系结构如图3-1所示: 图 3-1 系统体系结构图1.2 基本设计概念1、Linux 系统下 MPlayer 结构:完成 Linux 系统下视频的播放。采用 MPlayer-1.0rc2.tar.bz2;all-20071007.tar.tar;windows-all-20071007.zip;Blue-small-1.7.tar.bz2四个包。如图 3-2 所示,图 3-3 为实现效果图:图 3-2 Linux 系统下 MPlayer 四个包图 3-3 实现效果图2、ARM-Linux 系统下 MPlayer 结构:配置 arm-Linux-gcc 编译环境。 采用 MPlayer-1.0rc2.tar.bz2; ARM-Linux-gcc-2.95.tar.bz2;all-20071007.tar.tar;windows-all-20071007.zip; libmad-0.15.1b.tar.gz;五个包,如图 3-4 所示,图 3-5 为开发系统总体图。 图 3-4 ARM-Linux 系统下 MPlayer 五个包!jpg开发系统总体图3、多种视频结构解析结构:分析多种视频格式,特别是 SWF,FLV,AVI,3GP 的文件格式。实现多种视频格式的播放。4、QT 界面显示结构:设计 MPlayer 的控制界面,即 GUI 外挂。控制MPlayer 的播放,暂停,停止,音量调节等一系列操作。如图 3-6 所示 图 3-6 MPlayer 的控制界面 上面这个图想办法弄清楚,否则打印出来不清楚的2. 模块设计2.1 功能-模块对照表如表 3-1 所示,此课题分为以下八大模块。各个模块之间有机组合,形成本课题最终成果。表 3-1 模块功能规划表 用word表格重做,否则一看就是拷贝其他地方的2.2 各功能模块逻辑关系 如图 3-7 所示,此课题分成 X86PC 端运行 MPlayer 与 ARM2410s 端运行 MPlayer 两大部分组成。其中 X86PC 端运行 MPlayer 是由 X86-MPlayer模块与解码模块通过 Linux-gcc 模块编译完成。ARM2410s 端运行 MPlaye则是由 ARM-MPlayer 模块通过 MINICOM 模块进行通信,解码与 GUI 模块共同编译完成图 3-7 模块逻辑关系图 图也是,能重画,重画一下,今年特别抓这种从其他地方copy的,你需要预防第四章

温馨提示

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

评论

0/150

提交评论