基于嵌入式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的移植 .............................................. 24
3.1 Mplayer的简介 .............................................. 24 3.2 Mplayer的移植 .............................................. 24
3.2.1 安装交叉编译工具及解压源代码 .......................... 24 3.2.2 编译Mplayer .......................................... 24 3.3 调试 ....................................................... 26 第四章 嵌入式播放器Mplayer的设计 .................................. 30
4.1 播放器的工作流程 ........................................... 30 4.2 播放器的逻辑结构 ........................................... 30 4.3 Mplayer播放器的目录文件组织结构 ............................ 31 4.4 播放器对解码器和输出设备的管理方式 ......................... 33 第五章 总结与展望 .................................................. 35
5.1 本文主要完成的工作及结论 ................................... 35 5.2 完善与展望 ................................................. 35
III
致谢 ............................................................... 36 参考文献: ......................................................... 37
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