基于ARM的Linux多媒体播放器Mplayer的设计与实现_毕业设计(31页).doc
《基于ARM的Linux多媒体播放器Mplayer的设计与实现_毕业设计(31页).doc》由会员分享,可在线阅读,更多相关《基于ARM的Linux多媒体播放器Mplayer的设计与实现_毕业设计(31页).doc(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于ARM的Linux多媒体播放器Mplayer的设计与实现_毕业设计-第 25 页题目:基于ARM的Linux多媒体播放器的设计与实现系 (部):光学与电子信息学院专 业 班:电子科学与技术姓 名:学 号:指导教师: 2013年 6 月摘 要当今社会是一个信息化的社会。嵌入式技术在这个时代得到了日新月异的发展。嵌入式技术已经引起了世界各国的高度关注。在这个背景下,本文提出了一种基于嵌入式ARM9-Linux的多媒体播放器的设计与实现方案。本文首先介绍了S3C2440开发板的硬件情况,嵌入式Linux操作系统在ARM微处理器上的移植技术,包括Linux系统环境建立,交叉编译环境的建立、引导程
2、序vivi的烧写、移植嵌入式Linux内核,以及添加了Qtopia的根文件系统的建立。最终实现了Linux到S3C2440开发板的移植。在此基础上通过移植多功能视频播放器Mplayer实现视频文件的播放,最后列举了编译mplayer常见问题及解决方法,分析了mplayer的工作流程。关键词: 交叉编译环境 ARM9-Linux多媒体播放器 移植mplayer AbstractThe contemporary world is an informationalized society. Embeddedtechnology has achieved enormous development by
3、 leaps and bounds in this age, and raised great concerns of countries around the world. Under this background, this paper puts forward a scheme of design and implementation of the media player based on embedded ARM9-Linux of. The paper introduces the hardware of the S3C2440 development board and the
4、 technology of transplanting embedded Linux operating system into the ARM microprocessor, including the establishment of Linux system environment and cross-compiling environment, the establishment of the loader vivi and the application of the embedded Linux transplant kernel, and adds the Qt root fi
5、le system building. On this basis, by transplanting versatile video player, the writer accomplish playing video files, list the frequently asked questions and the solutions of compiling mplayer and analyze the workflow of mplayer at last.Key Words:cross-compiling environment media player based on em
6、bedded ARM9-Linux transplant mplayer目录摘 要IABSTRACTII1 引言41.1研究背景41.2发展状况和研究意义41.3本文组织结构52 构建硬件平台53软件配置和建立主机开发环境83.1宿主机开发环境的配置83.2配置minicom133.3配置NFS 服务143.4编译Bootloader163.5编译Linux 内核183.6制作文件系统194 QT开发环境的搭建204.1 QT简介204.2 QTE简介214.3嵌入式图形开发环境QTE的搭建215 移植MPLAYER235.1安装libmad245.2交叉编译Mplayer255.3 移植Mp
7、layer到开发板测试286 MPLAYER功能及实现306.1播放器的工作流程306.2播放器的逻辑结构306.3Mplayer播放器的目录文件组织结构316.4播放器对解码器和输出设备的管理方式327 结论或总结33参 考 文 献351 引言1.1 研究背景伴随着半导体技术、计算机技术、网络技术和软件技术的飞速发展,现如今,我们已经进入了后PC时代。在这一阶段电子产品的发展趋势是智能化、数字化、网络化、便携轻巧、易于操作,而嵌入式技术(Embedded Technology)的发展为人们提供了一个很好的解决方案。所谓嵌入式是指以应用为中心,以计算机技术为基础,软件、硬件可裁剪,适用于应用系
8、统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统【1】。嵌入式技术已经被广泛的应用于科学研究、工程设计、军事领域和文艺商业的方方面面,嵌入式产品更是随处可见,比如消费电子产品、车载电子设备、智能家电、MP3、MP4等。如今人们随着生活水平的提高,对视听享受方面的要求也越来越高,人们不单仅仅满足于在电脑上或电视上欣赏高品质的音视频,也渴望能够随时随地的欣赏音乐观看电影,所以基于嵌入式技术的便携式多媒体播放器也成为了现今IT界研究的热点之一。面对广阔的市场需求,海内外的各大厂商也在积极研发自己的产品以抢占市场。基于这一背景,本文提出了一款基于嵌入式Linux操作系统和ARM处理器的视频
9、播放器设计方案。1.2 发展状况和研究意义自从2002年法国的爱可视推出全球第一款MP4多媒体Jukebox以来,基于嵌入式技术的便携式视频播放器已经发展了十年,经过这十年的发展,视频播放器技术已日趋成熟,市面上的产品支持的视频格式也越来越多,功能也越来越强大,很多MP4都集成了上网、游戏、个人事务处理甚至是视频录制、数码照相等功能。目前。很多提供视频播放器处理器的半导体厂商都推出有自己的视频播放器硬件解决方案,这些方案可以概括为以下四类:一类是以德州仪器、飞利浦为代表的基于CPU+DSP芯片的解决方案;一类则是以Intel和AMD为代表的基于通用CPU的解决方案;第三种则是以飞思卡尔和深圳安
10、凯为代表的基于MCU芯片的解决方案;第四种是基于双CPU的解决方案。在软件方面基本上市面上的便携式视频播放器都带有嵌入式操作系统,主要的操作系统有Vxworks、Palm OS、Windows CE、Linux、Android以及厂家自己开发的操作系统【2】。生产厂商在设计自己的产品时如果采用上述的硬件方案,都要支付一笔不菲的授权费用,而在嵌入式操作系统的选择上也只有Linux是开源免费的,所以产品成本比较高。ARM处理器具有体积小、功耗低、低成本、高性能等优点,并且支持Linux系统。所以可以选用ARM处理器配合Linux进行产品的设计,这样可以充分的利用Linux开源的特性,根据需要修改和
11、移植一些免费的开源软件,这样不仅能降低产品研发的难度,加快产品的上市时间,还能省去一笔不菲的软硬件授权费用【3】。1.3本文组织结构本文介绍了一款便携式视频播放器的设计工作,该视频播发器是以ARM处理器为硬件开发平台,嵌入式Linux作为操作系统,通过移植Linux上的一款优秀的开源视频播放器软件MPlayer来实现的。本文共分五章,内容安排如下:第一章,引言。介绍了本文的选题背景,当前国内外的发展状况以及研究意义,并对论文的主要工作进行了简单介绍。第二章,播放器总体设计方案介绍。主要介绍播放器的硬件整体架构第三章,系统开发平台的构建。本章详细介绍了Linux系统移植到ARM处理器的过程,Li
12、nux的移植主要包括三个方面:Booterloader的移植、Linux内核的移植和根文件的制作。第四章,嵌入式图形开发环境QTE的搭建第五章,视频播放器mplayer的移植。介绍MPlayer的移植过程以及移植过程中遇到的各种问题和解决方法。第六章,分析mplayer播放器的工作模式和框架。2 构建硬件平台本设计使用的硬件开发平台是北京奥尔斯电子科技有限公司的OURS-2410-RP嵌入式实验开发系统。S3C2410RP 是一款基于三星 S3C2410X 16/32位RISC处理器( ARM920T)的为满足嵌入式专业教学的新要求而设计研发的新一代嵌入式实验基础平台。该款实验平台是一款集教学
13、实验、课程设计、本科毕业设计、研究生课题研究与企业产品开发于一体的综合平台。这款设备主要包括核心板与底板两个部分,核心板采用 6 层PCB 板设计、底板采用 4 层PCB 板设计,核心处理器是基于目前行业内主流使用的 SAMSUNG ARM9 S3C2410 处理器,主频 202MHz ,配套的存储器,网卡等设备;底板主要是各种类型的接口与扩展口。图1 S3C2410方框图S3C2410A采用了ARM920T内核, 0.18um工艺的CMOS 标准宏单元和存储器单元。它的低功耗、精简和出色的全静态设计特别适用于对成本和功耗敏感的应用。同样它还采用了一种叫做Advanced Microcontr
14、oller Bus Architecture(AMBA)新型总线结构。 S3C2410A的显著特性是它的CPU 核心,是一个由Advanced RISC Machines(ARM)有限公司设计的 16/32位ARM920T RISC 处理器,如图1所示。ARM920T实现了MMU,AMBA BUS和Harvard高速缓冲体系结构【4】。这一结构具有独立的 16KB指令Cache和16KB数据 Cache,每个都是由8字长的行(line)构成。 通过提供一系列完整的系统外围设备,S3C2410A大大减少了整个系统的成本,消除了为系统配置额外器件的需要。l 核心板( 6 层PCB 电路)系统包括:
15、 CPU : SAMSUNG S3C2410处理器(202MHz ) SDRAM:64M FLASH: 8M Inter Nor Flash NET : 10/100M Ethernet controller (DM9000) 总线驱动器:若干 电源稳压器 LDO:2 个 音频控制芯片 UDA1341: 1 个 双排插座 2.0 X 80 Pin:2 个 4个发光二极管l 底板(4 层PCB 电路)包括: 接口部分: Etherne 100M网口、UART 、USB1.1、并口、JTAG 接口、SMC 显示部分: 4.3寸真彩TFT液晶屏、VGA接口、8段数码管、LED 、LCD AIDIO
16、部分: AC97耳机接、麦克风 其它部分: STN 触摸屏、EEPROM、温度传感器、电位器等图2 S3C2410开发板外观图3软件配置和建立主机开发环境3.1 宿主机开发环境的配置3.1.1安装VMware Workstation软件VM主机简称VM, 又称VM服务器. VM主机是灵动网络利用虚拟机(Virtual Machine)技术,将一台服务器分割成多个虚拟机(VM主机)的优质服务. 这些VM主机以最大化的效率共享硬件、软件许可证以及管理资源。对其用户和应用程序来讲, 每一个VM主机平台的运行和管理都与一台独立主机完全相同, 因为每一个VM均可独立进行重启并拥有自己的root访问权限、
17、用户、IP地址、内存、过程、文件、应用程序、系统函数库以及配置文件。每个VM主机都可分配独立公网IP地址、独立操作系统、独立超大空间、独立内存、独立CPU资源、独立执行程序和独立系统配置等. VM主机用户除了可以分配多个虚拟主机及无限企业邮箱外, 更具有独立服务器功能,可自行安装程序,单独重启服务器VMware软件包含一个用于英特尔x86相容电脑的虚拟机套装,其允许用户同时创建和运行多个x86虚拟机。每个虚拟机实例可以运行其自己的客户机操作系统,如(但不限于)Windows、Linux、BSD变生版本。VMware 软件可以实现不需要重新开机就在同一台电脑上使用几个操作系统,安装完成后如图3所
18、示。 VMware 主要的功能有: 1 、不需要分区或重开机就能在同一台 PC上使用两种以上的操作系统OS。 2 、完全隔离并且保护不同 OS的操作环境以及所有安装在 OS上面的应用软件和资料。 3 、不同的 OS之间还能互动操作,包括网络、周边、文件分享以及复制贴上功能。 4 、有复原(Undo)功能。 5 、能够设定并且随时修改操作系统的操作环境,如:内存、磁盘空间、周边设备等等。 6 、安装 Linux 操作系统就是基于 VMware Workstation 软件进行安装的,也就是可以在一台PC机上同时运行Windows 操作系统和Linux 操作系统。 图3 VMware Workst
19、ation 9软件3.1.2安装RedHat 9.0 操作系统RedHat(红帽公司)创建于 1993 年,是目前世界上最资深的 Linux 和开放源代码提供商,同时也是最获认可的 Linux 品牌。基于开放源代码模式,为全球企业提供专业技术和服务。他们的解决方案包括红帽企业 Linux 操作平台,以及其他内容广泛的服务。因此,Red Hat不仅是全球最大的开源技术厂家,其产品 Red Hat Linux 也是全世界应用最广泛的Linux。Red Hat公司总部位于美国北卡罗来纳州。在全球拥有 22 个分部。 Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,
20、但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于天才程序员林纳斯托瓦兹。 从网络上下载的RedHat 9.0是3个iso文件在VM中依次加载这三个镜像文件就可以实现RedHat 9.0的安装。注意在硬件窗口中添加串口和并口。安装
21、完成如图4所示。 图4 RedHat9.0操作系统3.1.3交叉编译环境的建立交叉编译(cross-compilation)是指,在某个主机平台上(比如PC上)用交叉编译器编译出可在其他平台上(比如ARM上)运行的代码的过程。交叉编译这个概念的出现和流行是和嵌入式系统的广泛发展同步的。我们常用的计算机软件,都需要通过编译的方式,把使用高级计算机语言编写的代码(比如 C代码)编译(compile)成计算机可以识别和执行的二进制代码。比如,我们在 Windows 平台上,可使用 Visual C+开发环境,编写程序并编译成可执行程序。这种方式下,我们使用 PC 平台上的 Windows 工具开发针
22、对 Windows 本身的可执行程序,这种编译过程称为 native compilation,中文可理解为本机编译。然而,在进行嵌入式系统的开发时,运行程序的目标平台通常具有有限的存储空间和运算能力,比如常见的 ARM 平台,其一般的静态存储空间大概是 16 到 32 MB,而 CPU 的主频大概在 100MHz 到 500MHz 之间。这种情况下,在 ARM 平台上进行本机编译就不太可能了,这是因为一般的编译工具链(compilation tool chain)需要很大的存储空间,并需要很强的 CPU 运算能力。为了解决这个问题,交叉编译工具就应运而生了。通过交叉编译工具,我们就可以在 CP
23、U 能力很强、存储控件足够的主机平台上(比如 PC 上)编译出针对其他平台的可执行程序。(一)armv4l-unknown-linux-gcc 2.95.2交叉编译器的安装我首先安装的是开发版自带的armv4l-unknown-linux-gcc交叉编译器,版本号是2.95.2,编译器安装在/opt/home/armv4l/bin目录下在挂载U盘之前可以通过fdisk l命令查看U盘的名称,如图5所示图5 fdisk l命令查看U盘安装步骤如下 mkdir /mnt /usb /*若有该目录,则可以不必创建 */ mount t vfat /dev/sdb1 /mnt/usb /* 挂载U盘*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM Linux 多媒体 播放 Mplayer 设计 实现 毕业设计 31
限制150内