195.A基于ARM的智能手持设备MP3播放器的设计与开发本科毕业设计.doc
《195.A基于ARM的智能手持设备MP3播放器的设计与开发本科毕业设计.doc》由会员分享,可在线阅读,更多相关《195.A基于ARM的智能手持设备MP3播放器的设计与开发本科毕业设计.doc(59页珍藏版)》请在三一办公上搜索。
1、学校代码:XXX学 号:XXX 本科毕业设计说明书(题 目:基于ARM的智能手持设备MP3播放器的设计与开发学生姓名:XXX学 院:信息工程学院系 别:计算机系专 业:软件工程班 级:软件06指导教师:XXX 副教授二一年 六月本文源码索取,请联系qq:68661508摘 要随着消费类电子产业的蓬勃发展,越来越多的嵌入式电子产品走进了千家万户,各式各样的嵌入式系统出现在了众多的行业和应用中,其中ARM和Linux结合的产品在市场上最受青睐。本课题的嵌入式MP3就是基于ARM和linux平台设计的。系统选用S3C2440开发板为硬件平台,移植linux嵌入式操作系统作为软件平台,在这样的软硬件环
2、境下设计实现了MP3播放器。本文主要描述了MP3嵌入式系统的开发方法与步骤,首先安装并搭建了Linux操作系统与嵌入式系统的交叉开发环境,然后是Uboot、Linux的裁剪和移植,根文件系统的制作以及核心驱动程序的开发。在应用程序开发中介绍了MP3的原理,MP3的文件格式,实现了基于libmad的MP3应用程序的设计。关键词:嵌入式;ARM;Linux;驱动程序;MP3AbstractWith the booming of the consumptive electronics industry, more and more embedded electronic productsmore f
3、ind its way into every family, various embedded systems apply to numerous industries ,among them,the products which combine ARM and Linux technology is most popular in the electronic market .The embedded MP3 in this subject is desighed by ARM and based on Linux platform. This system choose the S3C24
4、40 development boards as the hardware platform, transplant the Linux embedded operating system as the software platform, I design and carry out the MP3 player in this environment that combine software and hardware.This paper describes the development of embedded system MP3, firstly, installation and
5、 building the intersection environment based on Linux operating system and embedded system developing environment, then , cutting and transplantation Linux and Uboot , the production of the root file system and development of the Core Driver programme. In the development of application , the paper d
6、escribes the principle of the MP3 ,the file format of MP3, realized the designing of MP3 application which based on libmad.Keyword:embeded; ARM; Linux; Driver Program; MP3目 录引 言1第一章嵌入式系统概述21.1 嵌入式系统简介21.2 嵌入式国内发展现状21.3 嵌入式系统的结构和组成31.3.1 嵌入式处理器41.3.2 嵌入式外围设备41.3.3 嵌入式操作系统41.3.4 嵌入式应用软件51.4 嵌入式系统的开发过程
7、51.5 嵌入式LINUX开发流程51.6 ARM及S3C2440硬件平台71.6.1 ARM简介71.6.2 ARM内核介绍71.6.3 QT2440E开发板介绍81.7 嵌入式系统的发展趋势9第二章建立嵌入式开发环境102.1 软件平台102.1.1 嵌入式 Linux介绍102.1.2 构建交叉开发环境112.2 硬件平台132.2.1 硬件平台介绍132.2.2 硬件平台结构介绍13第三章 UBOOT分析与移植193.1 BOOTLOADER 简介193.2 BOOTLOADER的启动流程分析193.3 U-BOOT分析203.4 烧写U-BOOT到NANDFLASH28第四章 LIN
8、UX内核分析与文件系统移植294.1 LINUX内核移植294.1.1 Linux 版本介绍294.1.2 Linux 启动过程294.1.3 Linux 内核移植304.2 文件系统344.2.1 嵌入式Linux文件系统344.2.2 Busybox 移植354.2.3 根文件系统的制作364.2.4 制作/烧写yaffs文件系统映像文件38第五章 MP3应用程序的设计405.1 MP3文件格式405.1.1概述405.1.2 MP3 文件结构405.1.3 MP3文件结构分析415.2 MP3解码算法原理介绍435.3 基于LIBMAD的MP3的程序设计475.3.1 libmad简介4
9、75.3.2 MP3应用程序设计47结 论51参考文献52致 谢53引 言随着社会的日益信息化、嵌入式系统的应用越来越广泛、计算机技术的发展和微处理器工艺的改进,计算机和网络已经全面渗透到日常生活的每一个角落,任何人都可以拥有从小到大的各种采用嵌入式技术的产品,小到MP3、PDA等微型数字化产品,大到网络家电、智能家电、车载电子设备等,嵌入式系统及其产品在由家电产品和Internet衍生出来的新型市场中占有主导地位和独特份额。由于嵌入式系统是建立在特定的硬件系统之上,系统的开发华硬件的关系十分紧密,嵌入式开发板为方便调试与开发提供了丰富的外围设备和接口,通过接口可以调试应用程序和打印输出调试信
10、息。嵌入式开发板已成为学习嵌入式操作系统的应用、熟悉硬件设备、学习编写硬件设备驱动、了解嵌入式操作系统体系结构和嵌入式操作系统移植的有力工具。基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展。ARM微控制器的低功耗、高性价比使其以70左右的市场占有率成为嵌入式解决方案中主流微处理器。因此,本次设计工作主要围绕ARM9芯片进行。Linux近几年在嵌入式领域异军突起,成为非常有潜力的嵌入式操作系统。其代码的开放性、系统的稳定性、强大的网络功能以及优秀的文件系统支持,在嵌入式设备特别是网络设备中得到了广泛应用。因此,选择linux作为本次设计
11、的嵌入式操作系统。为了对嵌入式系统的开发过程有一定认识,学习一些嵌入式系统开发技术和方法。这次设计将构建一个针对ARM硬件平台的嵌入式Linux操作系统,然后在其基础上实现简单游戏的功能,最终实现手持游戏终端。第一章 嵌入式系统概述本章主要介绍嵌入式系统的基本概念、总体框架和基本组成,以及常见的嵌入式系统发行版本。还有嵌入式Linux的特点及其在嵌入式系所处的地位和嵌入式Linux在国内外发展概况和发展趋势。1.1 嵌入式系统简介嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。嵌入式系统与通用计算机系
12、统的本质区别在于系统应用不同,嵌入式系统是将一个计算机系统嵌入到对象系统中。这个对象可能是庞大的机器,也可能是小巧的手持设备,用户并不关心这个计算机系统的存在。嵌入式系统一般包含嵌入式微处理器、外围硬件设备、嵌入式操作系统和应用程序4各部分。嵌入式领域已经有丰富的软硬件资源可以选择,涵盖了通信、网络、工业控制、消费电子、汽车电子等各个行业。嵌入式计算机系统与通用计算机系统相比具有以下特点:1. 嵌入式系统是面向特定系统应用的。嵌入式处理器大多数是专门为特定应用设计的,具有低功耗、体积小、集成度高等特点,一般是包含各种外围设备接口的片上系统。2. 嵌入式系统涉及计算机技术、微电子技术、电子技术、
13、通信和软件等各行各业。它是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。3. 嵌入式系统的硬件和软件都必须具备高度可定制性。只有这样才能适用嵌入式系统应用的需要,在产品价格性能等方面具备竞争力。4. 嵌入式系统的生命周期相当的长。嵌入式系统应用到产品后,还可以进行软件升级,它的生命周期与产品的生命周期几乎一样长。1.2 嵌入式国内发展现状随着技术进步的不断加速,我们有理由相信计算机还将继续快速发展并进一步改善我们的生活,让计算变得“无所不能”、“无处不在”。其中“无所不能”将是人工智能技术和超级计算机的结合,而“无所不在”则是嵌入式技术应用的广阔天地,现在普通消费者已经可以从市场中
14、买到数码相机、移动电话、打印机我们的生活,等众多的数码产品、航空设备、ATM机、计算机网络设备等电子产品中都用到了嵌入式系统。图1-1 嵌入式软件架构嵌入式控制器的应用几乎无处不在:移动电话、家用电器、汽车无不有它的踪影。嵌入控制器因其体积小、可靠性高、功能强、灵活方便等许多优点,其应用已深入到工业、农业、教育、国防、科研以及日常生活等各个领域,对各行各业的技术改造、产品更新换代、加速自动化化进程、提高生产率等方面起到了极其重要的推动作用。嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的外部设备中就包含了5 - 10 个嵌入式微处理器。在制造工业、过程控制、网络、通讯、仪器、
15、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。1.3 嵌入式系统的结构和组成一般而言,嵌入式系统的体系结构可以分成四个部分:嵌入式处理器,嵌入式外围设备,嵌入式操作系统和嵌入式应用软件。1.3.1 嵌入式处理器嵌入式系统的核心是各种类型的嵌入式处理器,其应具有很高的效率和可靠性。常用的嵌入式处理器可分为:低端的嵌入式处理器、中高端的嵌入式处理器、用于计算通信领域的嵌入式DSP处理器和高度集成嵌入式片上系统(SOC)。目前几乎每个半导体制造商都在生产嵌入式处理器,全世界嵌入式处理器已超过1000种,流行的体系结构有30多个系列,其中以ARM、POWERPC、
16、MC68000、MIPS等最为广泛。1.3.2 嵌入式外围设备在嵌入式系统硬件系统中,除了处理器以外,用于完成存储、通信、调试、显示等辅助功能的外围部件,都算作嵌入式外围设备。目前常用的嵌入式外围设备按功能可以分为存储设备、通信设备和显示设备三类。 储设备主要用于各类数据的存储,常用的有静态易失性存储器(RAM,SRAM)、动态存储器(DRAM)和非易失性存储器(ROM,EPROM,EEPROM,FLASH)三种;绝大多数常用的通信设备接口都可以直接在嵌入式系统中应用,包括RS232串行通讯接口、串行外围设备接口(SPI)、红外线接口(IRDA)、通用串行总线接口(USB)、Ethernet以
17、太网接口;嵌入式系统中的显示设备通常是阴极射线管(CRT)、液晶显示器(LCD)和触摸板等。1.3.3 嵌入式操作系统为了使嵌入式系统的开发更加方便和快捷,需要有专门负责管理存储器分配、中断处理、任务调度等功能模块,这就是嵌入式操作系统。嵌入式操作系统是用来支持嵌入式应用的系统软件,是嵌入式系统极为重要的组成部分,通常包括与硬件相关的底层驱动程序、系统内核、设备驱动接口、通讯协议、图形用户界面(GUI)。它具有通用操作系统的基本特点,能够有效管理复杂的系统资源,对硬件进行抽象,提供库函数、驱动程序、开发工具等。但在系统实时性、硬件依赖性、软件固化性以及应用专用性等方面,嵌入式操作系统具有更加鲜
18、明的特点。根据应用场合,嵌入式操作系统可以分成两大类:一类是面向消费电子产品的非实时系统,如WindowsCE等,应用设备包括个人数字助理(PDA)、移动电话、机顶盒(STB)等;另一类则是面向控制、通信、医疗领域的实时操作系统,如Vxworks、uC/OS-II等。实时系统是一种能够在指定或者确定时间内完成系统功能,并且对外部和内部事件在同步或者异步时间内能作出及时响应的系统。在实时系统中,操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作进行的时间有关。1.3.4 嵌入式应用软件嵌入式应用软件是针对特定应用领域,基于某一硬件平台,用来达到用户预期目标的计算机软件。由于用户任务可能有时
19、间和精度上的要求,嵌入式应用软件和普通应用软件有一定的区别,它不仅要求其准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能进行优化,以减少对系统资源的消耗,降低硬件成本。1.4 嵌入式系统的开发过程由于嵌入式系统是应用于特定环境下面对专业领域的应用系统,具有与通用计算机系统明显不同,因此其开发过程和开发环境同传统的软件开发相比有着显著的不同。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发三大部分。在系统总体开发中,由于嵌入式系统与硬件依赖程度非常紧密,往往某些需求只能通过特定的软件才能实现,因此需要进行处理器选型,以更好的满足产品的需求。另外,对于有些硬件
20、和软件都可以实现的功能,就需要在成本上和性能上作出抉择。往往通过硬件实现会增加产品的成本,但能大大提高产品的性能和可靠性。在硬件开发设计中,首先根据模型确定硬件需要实现的功能,接着确定硬件的构成,并确定数据的控制流程,完成结构化设计,然后是硬件逻辑设计,最后是物理硬件实现,以开发板的形式出现。在软件设计过程中,根据需要实现的任务划分各个模块,通过交叉开发环境实现目标代码,完成系统测试。1.5 嵌入式linux开发流程在一个嵌入式系统中使用Linux开发,根据应用需求的不同有不同的配置开发方法,但是一般都要经过如下的过程:1. 建立开发环境操作系统一般使用RedHat-Linux,选择定制安装或
21、全部安装,通过网络下载相应的GCC交叉编译器进行安装(例如arm-Linux-gcc、arm-clibc-gcc),或者安装产品厂家提供的交叉编译器。2. 配置开发主机配置minicom,一般的参数为波特率为115200bps,数据位为8位,停止位为1,无奇偶校验,软件硬件流控设为无。在Windows下的超级终端的配置也是这样的。minicom软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。配置网络,主要是配置NFS网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。3. 建立引导装载程序Bootloader从网络上下载一些公开源代码的Bootloader,如ub
22、oot、Blob、vivi、lilo、arm-boot、red-boot等,根据自己具体的芯片进行移植修改。有些芯片没有内置引导装载程序,例如三星的ARM7、ARM9系列芯片,这样就需要编写开发板上Flash的烧写程序,网络上有免费下载的Windows下通过JTAG并口简易仿真器烧写ARM外围Flash芯片的烧写程序,也有Linux下的公开源代码的J-Flash程序。如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是系统正常运行的第一步。4. 下载Linux操作系统如CLinux、ARM-Linux、PPC-Linux等,如果有专门针对所使用的CPU移植好的Linux操作系
23、统那是再好不过的,下载后再添加自己的特定硬件的驱动程序,进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动,对于CLinux这样的系统则需编译进内核进行调试。5. 建立根文件系统从下载使用Busybox软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他程序。默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 195.A基于ARM的智能手持设备MP3播放器的设计与开发 本科毕业设计 195. 基于 ARM 智能 手持 设备 MP3 播放 设计 开发 本科 毕业设计
链接地址:https://www.31ppt.com/p-2392402.html