logo资料库

基于嵌入式ARM-Linux的播放器的设计与实现.doc

第1页 / 共42页
第2页 / 共42页
第3页 / 共42页
第4页 / 共42页
第5页 / 共42页
第6页 / 共42页
第7页 / 共42页
第8页 / 共42页
资料共42页,剩余部分请下载后查看
摘要
Abstract
目录
第一章 绪论
1.1系统研究背景
1.1.1 多媒体播放器与嵌入式系统
1.1.2 嵌入式多媒体播放器国内外发展现状
1.2 嵌入式处理器
1.3 嵌入式系统
1.3.1嵌入式系统的概述
1.3.2 嵌入式系统的选择
1.4 本文的意义和主要工作
第二章 系统软硬件平台的搭建
2.1 硬件开发平台的介绍
2.1.1 核心板
2.1.2 外设板
2.1.3 设计所用硬件介绍
2.2 硬件平台的设计方案
2.2.1 核心板设计
2.2.2 外设电路设计
2.3 嵌入式软件开发环境
2.3.1 引导装载程序
2.3.2 宿主机开发环境配置
2.3.3 交叉开发环境的建立
2.3.4 内核的编译
2.3.5 烧制内核映像和文件系统
2.4 嵌入式图形用户界面的实现
2.4.1 图形用户界面minigui的简介
2.4.2 MiniGUI在S3C2410开发板上的移植过程
第三章 Mplayer的移植
3.1 Mplayer的简介
3.2 Mplayer的移植
3.2.1 安装交叉编译工具及解压源代码
3.2.2 编译Mplayer
3.3 调试
第四章 嵌入式播放器Mplayer的设计
4.1 播放器的工作流程
4.2 播放器的逻辑结构
4.3 Mplayer播放器的目录文件组织结构
4.4 播放器对解码器和输出设备的管理方式
第五章 总结与展望
5.1 本文主要完成的工作及结论
5.2 完善与展望
致谢
参考文献:
基于嵌入式 ARM-Linux 的播放器的设计与实现 摘要 随着 21 世纪的到来,人类进入了 PC 时代。在这一阶段,嵌入式技术得到 了飞速发展和广泛应用。由此,本文提出了一种基于嵌入式 ARM-Linux 的播放 器设计与实现的方案。 本文首先详细分析了 ARM 体系结构,研究了嵌入式 Linux 操作系统在 ARM9 微处理器的移植技术,包括交叉编译环境的建立、引导装载程序应用、移植嵌 入式 Linux 内核及建立根文件系统,并且实现了嵌入式 Linux 到 S3C2410 开发 板的移植。 由于嵌入式系统本身硬件条件的限制,常用在 PC 机的图形用户界面 GUI 系 统不适合在其上运行。为此,本文选择了 Minigui 作为研究对象,在对其体系 结构等方面进行研究基础上,实现了 Minigui 到 S3C2410 开发板的移植,完成 了嵌入式图形用户界面开发,使得系统拥有良好的操作界面。 对于播放器,本文实现了 Linux 系统下的通用媒体播放器—Mplayer 到 S3C2410 开发板的移植。通过对音频数据输出的研究,解决了 Mp1ayer 播放声 音不正常的问题,实现了一个集音乐和视频播放于一体的嵌入式多媒体播放系 统。 最后,总结了论文所做的工作,指出了嵌入式播放器所需要进一步解决和 完善的问题。 关键词:嵌入式 ARM-Linux; S3C2410; Mplayer; GUI 界面; Minigui I
Player Designing and Implement Based On Embedded ARM-Linux Abstract Along with the 21st century arrivals, the humanity enters the post PC time. In this stage, embedded technology gets rapidly developed and widely used. So, this paper aims to design a player based on embedded ARM-Linux. First, in this paper, ARM architecture and the characteristic are analyzed in detail. The emphasis of the study is put on the porting techniques of embedded Linux operation system based on the ARM9 micro-processor, which include setting cross complier、transplanting Bootloader、transplanting embedded Linux kernel and setting root file system; Furthermore, implement the technique of transplanting Embedded Linux to S3C2410 board. GUI (Graphical User Interfaces) systems which are supported by normal PCs cannot run well on the embedded systems, just because of the restriction of the hardware of embedded devices. So, this paper selects Minigui as research object. Based on the Minigui architecture and its other aspects, the technique of transplanting Minigui to S3C2410 board is given in detail, and then an embedded GUI system is established and it also makes the handle interface friendly. About the player, this paper implements transplanting the universal player on Linux-Mplayer to S3C2410 board. By learning of audio data, it solves the problem of sound abnormality, and achieves an embedded multimedia system which could play audio and video files. Key words: Embedded ARM-Linux; S3C2410; Mplayer; GUI interface; Minigui II
目录 摘要 ............................................................... I Abstract .......................................................... II 目录 ............................................................. III 第一章 绪论 ....................................................... 1 1.1 系统研究背景 ................................................ 1 1.1.1 多媒体播放器与嵌入式系统 .............................. 1 1.1.2 嵌入式多媒体播放器国内外发展现状 ...................... 1 1.2 嵌入式处理器 ................................................3 1.3 嵌入式系统 ..................................................4 1.3.1 嵌入式系统的概述 .......................................4 1.3.2 嵌入式系统的选择 ...................................... 5 1.4 本文的意义和主要工作 ........................................7 第二章 系统软硬件平台的搭建 ........................................ 8 2.1 硬件开发平台的介绍 .........................................8 2.1.1 核心板 ................................................ 8 2.1.2 外设板 ............................................... 8 2.1.3 设计所用硬件介绍 ..................................... 9 2.2 硬件平台的设计方案 .........................................9 2.2.1 核心板设计 ........................................... 9 2.2.2 外设电路设计 ........................................ 14 2.3 嵌入式软件开发环境 .........................................15 2.3.1 引导装载程序 ......................................... 16 2.3.2 宿主机开发环境配置 ................................... 17 2.3.3 交叉开发环境的建立 ................................... 18 2.3.4 内核的编译 ........................................... 18 2.3.5 烧制内核映像和文件系统 ............................... 20 2.4 嵌入式图形用户界面的实现 ...................................20 2.4.1 图形用户界面 minigui 的简介 ........................... 20 2.4.2 MiniGUI 在 S3C2410 开发板上的移植过程 ..................21 第三章 Mplayer 的移植 ..............................................25 3.1 Mplayer 的简介 ............................................. 25 3.2 Mplayer 的移植 ............................................. 25 3.2.1 安装交叉编译工具及解压源代码 ......................... 25 3.2.2 编译 Mplayer ..........................................25 3.3 调试 .......................................................27 第四章 嵌入式播放器 Mplayer 的设计 ................................. 31 4.1 播放器的工作流程 ...........................................31 4.2 播放器的逻辑结构 ...........................................31 4.3 Mplayer 播放器的目录文件组织结构 ........................... 32 4.4 播放器对解码器和输出设备的管理方式 .........................34 第五章 总结与展望 ................................................. 36 5.1 本文主要完成的工作及结论 ...................................36 5.2 完善与展望 .................................................36 III
致谢 .............................................................. 37 参考文献: ........................................................ 38 IV
1.1 系统研究背景 第一章 绪论 从上世纪末开始,随着计算机和电子技术的发展走上快车道,便携式电子设备,诸如 智能手机,个人电子助理(PDA)的运算存储能力和通信能力都得到了长足的进步,便携式 设备的用户界面也变的越来越友好,从早期的只能显示单色文字的 LED,发展到现在大尺 寸 6 万色彩色液晶屏幕。因此,用户已经不再仅仅满足于早期的便携式电子设备提供的传 统的,简单的语音通信或文档处理功能。随着多媒体技术发展,用户希望能够在轻巧的便 携式设备上同样能够享受到过去只能在笨重的台式机或笔记本电脑上才能享受到语音甚 至视频等多媒体服务。 1.1.1 多媒体播放器与嵌入式系统 随着芯片技术的快速发展,嵌入式系统的性能逐步提高,功能也越来越丰富。嵌入式 系统在众多领域的应用给我们的生活带来了便利,并且对人们的生活方式的改变和生活质 量的提高具有重要的影响。在这些领域中,消费电子产品的应用具有更为广泛的潜力,尤 其是便携式消费电子产品。当前,消费类电子产品更新换代的速度进一步加快,市场需求 不断增大。在 MP3 数码随身听取得巨大的市场成功后,支持视频的便携式播放器逐渐进入 消费者的视线,成为继 MP3 之后的新一代数码影音娱乐平台。受 MP3 的影响,人们习惯的 将这一类嵌入式多媒体系统称作 MP4。 在法国 Archos 公司推出第一款 MP4 掌上影院后,众多企业均看好 MP4 的发展态势。新 一代 MP4 良好的发展前景和潜在的市场,成为移动数码产业的新亮点,吸引着众多厂商大 力研发,并将其推向市场。 除播放视频这一基本功能外,嵌入式多媒体系统还附带了若干增值功能,如音乐播放、 图片浏览、游戏、调频收音、录音、电子书以及拍照、录像功能。 1.1.2 嵌入式多媒体播放器国内外发展现状 目前嵌入式多媒体的内部结构,比较成熟的解决方案有三种:基于 SigmaDesigns851x 系列芯片的解决方案、基于 TlDM32ODSP+ARM 处理器的解决方案和基于工 ntelPXA27x 的 解决方案,这三种解决方案是目前的主流方案。上述几种方案各有特点: (1)SigmaDesigns 851x 方案 SigmaDesignS851x 处理器是目前性能最强、最全面的专业解码芯片,采用双核设计, 将 200MHz 32 位 RISC 处理器和 MPEG 解码处理器集成于单芯片上,在无需其它外围芯片支 持的情况下,完成系统所需各种接口的提供、系统处理以及流畅的 WMA V9、 DivXV3.11、 DivXV4.X 和 S.X、MPEG-4、MPEG-2、MPEG-1 等音视频解码。其中对系统要求极高的 MPEG-2 解码, SigmaDesigns851x 能轻松达到 3OfpsDI,流畅自如,难能可贵! 优点:单芯片,低成本,低功耗;硬核视频解码,视频播放效果好 缺点:无法播放网络视频格式 RM,RMVB 等 (2)TI DM320 DSP-I-ARM 处理器的解决方案 作为 DSP 巨头,TI 力推 DM320 DSP 的 PMP 解决方案。TI 方案是利用 DM320 DSP 进行音 1
视频编解码处理,ARM 处理器负责系统处理及提供外围设备接口。与 SigmaDesigns 方案一 样,TI 方案支持的媒体类型非常丰富,能支持 WMV、DivXV3.11、 DivXV4.X 和 5.X、MPEG-4、 MPEG-2、MPEG-1 等。但由于 TlDM320 为纯 DSP 芯片,因此必须配合 ARM 处理器才能组成 完整的解决方案,因此在成本上并不具备优势。 优点:支持的媒体类型丰富,编解码能力强 缺点:必须配合 ARM 处理器,成本不占优势,功耗较大;不支持网络视频格式 RM,RMVB (3)Intel PXA27x 的解决方案 Intel 公司于 2003 年底推出了性能最为强劲的 PXA27x 嵌入式处理器,最高频率可达 624MHz。作为一款性能及其强劲的嵌入式处理器,配合嵌入式 Linux 或 wince 操作系统, PXA27x 理论上可以支持任何媒体格式,并通过软件升级,支持未来媒体格式。但由于 MPEG-2 对硬件的极高要求,因此单纯依靠 PXA27x 处理器进行 MPEG-2 编解码是不现实的。Intel 公司于 2004 年推出了 2700G 多媒体加速芯片,配合 PXA270 进行视频加速与 3D 加速。同 时,PXA27x 加入了 wireless MMX 技术和 SpeedStep 动态电源管理技术,不但大大增强了 PXA270 的媒体处理能力,而且极大降低了系统功耗,延长 PMP 产品的电池寿命。 2700G 的加入,更使 PXA27x 方案成为全能解决方案,不但完美解决了 MPEG-2 编解码问题,更使 基于 PXA27x 的 PMP 产品能向多功能化发展,可以加入游戏、摄像等功能,成为个人娱乐 终端。 优点:支持目前所有的媒体类型,可通过软件升级支持未来媒体类型;接口丰富,可支 持 SD、MS、CF 等;支持最大 400 万象素摄像头;支持动态电源管理,功耗低 缺点:成本可能较高 目前市面上还有其它几种非主流方案,如 PxA255 解决方案、Sunplus SPCA536 解决方 案、 Freescalei.MX21 解决方案等。基于 PXA255 的方案特点是功耗较低,且能够支持较 多的媒体格式,但缺点是无法支持大尺寸图像的编解码,如 MPEG-2 等。 Sunplus SPCA536 解决 方案 价格低 廉, 但仅支 持 MPEG-4 编解 码与 JPEG ,支 持媒 体类型 单纯 ,功能 单 一 ;FreeSCalei.MX21 芯片原为智能手机专门设计,接口类型比较丰富,但音视频处理能 力一般,无法进行流畅的 MPEG-4 播放,无法处理 MPEG-2 视频。 由于 PMP(便携式多媒体播放器)产品的研发难度较大,目前市面上的大多数 PMP 产品均 为国外或台湾设计。中国大陆消费类娱乐产品的生产商因研发能力普遍较低而无法自己研 发产品,因此未来中国大陆 PMP 设计制造将更多的按照生产商 +Design House 的模式进 行,这样生产商可以充分发挥自己的渠道和规模优势,而 Design House 则发挥自己的强 设计能力和低营运成本优势,双方合作则能够共同把 PMP 市场做大、做强。 国内目前也有进行 PMP 方案设计的公司,如南京东集公司 (www.seuic.com),采用的 是 Intel 嵌入式处理器 PXA255 方案。采用 SigmaDesignS 解决方案的公司主要集中在深圳, 如深圳市深视通科技开发有限公司(www.sstvision.com),该公司目前己经设计出了基于 SiglnaDesigns85n 处理器的成熟的 PMP 解决方案,并制作了 DEMO。而 TIDM320 方案,目 前主要依靠 TI 合作伙伴美国 Ingenient 公司推广[1]。 2
1.2 嵌入式处理器 嵌入式处理器是嵌入式硬件平台的核心,负责系统事件的响应、任务的调度、外围器 件的控制以及信号的处理。嵌入式处理器是由通用计算机中的 CPU 演变而来的。它的特征 是 32 位以上,具有较高的性能。与通用计算机中的 CPU 不同的是,嵌入式处理器在实际 嵌入式应用中只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样 就以最低的功耗和资源实现嵌入式应用的特殊要求。嵌入式处理器体积小、功耗低、成本 低、可靠性高的优点使其在互联网、通信、消费类电子等多个领域得到了广泛的应用。目 前主要的嵌入式处理器按体系结构不同可分为五大类:ARM、MIPS、POWERPC、x86 和 SH 系 列。 ARM 内核是由 ARM 公司开发的一系列 32 位 RISC 处理器内核,当前有 6 个系列的产 品:ARM7,ARM9,ARM9E,ARM10E,SecurCore 以及最新的 ARM11 系列。目前业界可以提供 ARM 内核处理器的著名半导体公司有 Intel,TI,Freescale, Analog Devices, Cirrus Logic 和 Samsung 等。本课题设计采用的 S3C2410 处理器就是 Samsung 提供的一款采用 32 位 ARM 内核的处理器。 S3C2410 内部集成了微处理器和一些手持设备的常用外围组件, 特别适用于手持产 品。S3C2410 微处理器是一个多用途的通用芯片,它内部集成了微处理器和常用外围组件, 可用于各种领域。它是应用于手持设备的低成本实现,提供了更高性价比。 HHARM2410 套件由核心板和底板(外设板或称基本板)组成,核心板上集成 Samsung S3C2410 处理器,64M SDRAM 以及 16M 的 FLASH,为您的应用研发提供了足够的空间。底 板上则提供以下外设接口:一个四线 RS-232 串口(COM1), 一个 USB HOST 接口, 一个 10M/100M 自适应以太网接口, 一个 TFT LCD 接口, 一个触摸屏接口。核心板和底板配合 即构成一个最小的完整应用系统。系统具有体积小、耗电低、处理能力强、等特点,能够 装载和运行嵌入式 Linux 操作系统。用户可以在这个系统平台上进行自主软件开发。 HHARM2410 套件中提供底板硬件电路图及硬件设计文档,极大的方便了用户进行硬件扩展 开发。 HHARM2410 套件提供完备的嵌入式 Linux 开发环境及丰富的开发调试工具软件。 S3C2410 微处理器的精彩特性[2]:  ARM920T 嵌入式处理器内核,主频可达 203MHz;  扩展总线最大频率 100MHz;  32 位数据,27 位外部地址线 ;  完全静态设计(0-203M) ;  存储控制器(八个存储体) :  包含 RAM(SDRAM)控制器,NAND 控制器 ;  复位时引导芯片选择(8-,16-比特存储或 NAND 可供选择) ;  四个带有 PWM 的 16 位定时器  多达 55 个中断源的中断控制器 ; 3
 RTC;  三个 UART ,Supports IrDA 1.0;  四个 DMA 通道; (支持外设 DMA)  8 通道,500KSPS,10-bit ADC;  支持 STN  与 TFT LCD 控制器;  看门狗;  IIS 音频接口;  两个 USB 口;  IIC-Bus 接口;  两个串行外围接口电路(SPI)  SD 卡接口;  HHARM2410 开发套件硬件主要结构:  Sumsung S3C2410 处理器  16Mbytes 16 位 FLASH  64Mbytes 32 位 SDRAM  一个四线 RS-232 接口  一个 10M/100M 自适应以太网接口  一个 TFT LCD 接口,  一个触摸屏接口。  JTAG 接口  9V 直流电源  H/W 复位建  运行状态指示 LED 灯 1.3 嵌入式系统 1.3.1 嵌入式系统的概述 嵌入式系统的定义如下:是一种以应用为中心、以计算机技术为基础,软件硬件可裁剪, 适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。由嵌入式 系统的定义可见,嵌入式系统具有以下几大特点: (1) 技术密集 嵌入式系统是将先进的计算机技术、半导体技术和电子技术以及各个行业的具体应用 相结合后的产物。这一点就决定了它必然是一个技术密集、不断创新的知识集成系统。 (2) 专用性强 嵌入式系统是与应用紧密结合的,具有很强的专用性。嵌入式系统的个性化很强,其 中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、 4
分享到:
收藏