基于嵌入式Linux下的Madplay音频播放器设计论文.docx
《基于嵌入式Linux下的Madplay音频播放器设计论文.docx》由会员分享,可在线阅读,更多相关《基于嵌入式Linux下的Madplay音频播放器设计论文.docx(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、滁州职业技术学院信息工程系2015届计算机应用专业毕业论文姓 名: 周杰 班 级: 计算机应用技术 设计课题:基于嵌入式Linux下的Madplay音频播放器设计指导教师: 李兰兰 I滁州职业技术学院计算机应用技术专业毕业论文2014年 12 月 日摘 要二十一世纪是信息技术的时代,信息的交流量非常大,这就会使人们在计算机面前工作的时间大大增加,因而增加了人们的负担和压力。再加上飞快的生活节奏,物质生活的逐步改善,更会给人们带来身心的劳累,人们在这种身体状况下去工作,不但效率不高,而且还很容易犯错,人们对精神层面的需求逐渐增强。因此人们需要一些娱乐和消遣的软件来减轻压力,消除疲劳,让人们更好的
2、去工作和生活。由于不满足于仅在家中欣赏电视提供的多媒体,便携的媒体播放器应运而生。本Mp3播放器就是为了实现这个目的而编写的。由于嵌入式Linux操作系统功能强大又易于移植。本次设计的是MP3播放器应用程序,就是一个基于嵌入式开发的一个媒体播放器软件,采用嵌入式ARM9经典开发平台。关键词: 嵌入式系统,Linux,Mp3播放器 iii滁州职业技术学院计算机应用技术专业毕业论文AbstractThe twenty-first century is the era of information technology, information exchange is very large, whi
3、ch make people work in front of the computer time is greatly increased, thus increasing the peoples burden and pressure. Coupled with the fast pace of life, the gradual improvement of material life, but also give rise to physical and mental fatigue, physical condition in which people go to work not
4、only inefficient, and very easy to make mistakes, people on the spiritual demand gradually. So people need some entertainment and recreation software to reduce stress, reduce fatigue, allow people to work and live better. Because not content to provide only watch TV at home, multimedia, portable med
5、ia players have emerged.Due to the embedded Linux operating system, powerful and easy to transplant. The design of the MP3 player application, is a development based on an embedded media player software, using the classical embedded ARM9 development platform.朗读显示对应的拉丁字符的拼音字典 - 查看字典详细内容翻译以下任意网站 Vogue
6、-法国 USA Today-美国 Marmiton.org-法国 Bild.de-德国 La Informacin-西班牙 Los Angeles Times-美国 Yomuiri Online-日本 Pblico.es-西班牙 Zamalek Fans-阿拉伯语 Nord-Cinema-法国 News.de-德国 NouvelObs-法国在更多的 Google 产品中使用 Google 翻译Key Words: Embedded systems, Linux, Mp3 player目录摘 要IIABSTRACTI第一章开发嵌入式MP3播放器2 1.1 开发嵌入式MP3播放系统的目的2 1.2
7、 MP3是一种音频编码方式2 1.3 开发嵌入式MP3播放系统的意义2 1.4 MP3播放器未来发展趋势3 第二章嵌入式系统的介绍3 2.1常用的处理器3 2.2常用嵌入式操作系统4 2.3 嵌入式Linux环境的搭建4 2.4 引导装载程序5 2.5宿主机开发环境配置6 第三章交叉开发环境的建立过程83.1交叉开发环境83.2嵌入式交叉开发环境的建立方法8第四章 硬件开发平台的介绍104.1核心板104.1外设板11第五章MP3播放器的制作与移植145.1 Madplay原理145.2 任务分析145.3编译madplay播放器155.4移植madplay到Tiny6410215.5实验中的
8、问题22结论与展望23致 谢24参考文献25滁州职业技术学院计算机应用技术专业毕业论文第一章开发嵌入式MP3播放器1.1 开发嵌入式MP3播放系统的目的二十一世纪是信息技术的时代,信息的交流量非常大,这就会使人们在计算机面前工作的时间大大增加,因而增加了人们的负担和压力。再加上飞快的生活节奏,物质生活的逐步改善,更会给人们带来身心的劳累,人们在这种身体状况下去工作,不但效率不高,而且还很容易犯错,人们对精神层面的需求逐渐增强。因此人们需要一些娱乐和消遣的软件来减轻压力,消除疲劳,让人们更好的去工作和生活。由于不满足于仅在家中欣赏电视提供的多媒体,便携的媒体播放器应运而生。1.2 MP3是一种音
9、频编码方式 MP3是一种音频压缩技术,其全称是动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer III),简称为MP3。它被设计用来大幅度地降低音频数据量。利用 MPEG Audio Layer 3 的技术,将音乐以1:10 甚至 1:12 的压缩率,压缩成容量较小的文件,而对于大多数用户来说重放的音质与最初的不压缩音频相比没有明显的下降。它是在1991年由位于德国埃尔朗根的研究组织Fraunhofer-Gesellschaft的一组工程师发明和标准化的。用MP3形式存储的音乐就叫作MP3音乐,能播放MP3音乐的机器就叫作MP3播
10、放器。1.3 开发嵌入式MP3播放系统的意义社会信息化、智能化、网络化高速发展的今天,嵌入式系统技术也随之提高,嵌入式Linux操作系统功能强大又易于移植,嵌入式产品渗入各个行业,如图1-1所示。嵌入式系统开发无疑成为当今最热门最有发展前途的IT领域之一。图1-1嵌入式产品渗入各个行业由于嵌入式Linux操作系统功能强大又易于移植。本次设计的是MP3播放器应用程序,就是一个基于嵌入式ARM9开发的一个媒体播放器软件,采用S3C2440经典开发平台,基于嵌入式ARM9开发的。本软件所具有的功能就可以满足一般用户的要求。本软件能支持所有MP3格式的音频文件,这些文件在网上都很容易找得到。根据个人的
11、不同喜好,可以下载自己喜欢的MP3歌曲类型进行播放。因为音乐能使人们的神经放松,消除疲累,使人们有更好的状态工作和生活。1.4 MP3播放器未来发展趋势 刚刚问世时,MP3播放器是数字革命的先锋。然而随着消费者转向智能手机等其他数码产品,2012年英国市场iPod和其他MP3播放器的销量大幅下降。根据市场研究公司Mintel的数据,2012年,英国市场MP3播放器的销售额为1.1亿英镑(约合1.78亿美元),仅为2011年3.81亿英镑的29%。Mintel预计,到2017年,英国市场MP3播放器的总销售额还将下降一半。而在最坏的情况下,5年后英国市场MP3播放器总销售额将仅为2500万美元。
12、美国科技博客Business Insider刊文称,MP3播放器正在走向消亡。由于功能已被智能手机涵盖,因此MP3播放器的销售受到了智能手机热潮的严重影响。第二章嵌入式系统的介绍2.1常用的处理器随着嵌入式系统不断深入到人们生活的各个领域,嵌入式处理器得到了前所未有飞速发展。目前据不完全统计,全世界嵌入式处理器品种总量已超过1500多种,流行体系结构有50多个系列。现在几乎每个半导体制造商都生产嵌入式处理器,越来越多的公司有自己的处理器设计部门。(1)MIPS处理器。MIPS技术公司是一家设计制造高性能、32位和64位嵌入式处理器的厂商。在RISC处理器方面占有重要地位。1984年,MIPS计
13、算机公式成立。1992年,MIPS脱离SGI,成为MPIS技术公司。(2)PowerPC处理器。PowerPC架构的特点是可伸缩性好,方便灵活。PowerPC处理器品种很多,既有通用的处理器,又有嵌入式控制器和内核,应用范围非常广泛,从高端的工作站,服务器到桌面计算机系统,从消费类电子厂品大型通信设备,无所不包。(3)Sparc处理器。Sun公司以其性能优秀的工作站闻名,这些工作站的心脏全部采用Sun公司自己研发的Sparc芯片。根据Sun公司未来的发展规划,在64位UltraSparc处理器方面,主要有3个系列.可扩展式s系列,集成式i系列,嵌入式e系列(4)ARM系列处理器。ARM系列处理
14、器是ARM公司的产品。ARM公司是业界领先的知识产权供应商。与一般公司不同,ARM公司只采用IP授权的方式允许半导体公司生产基于ARM的处理器产品,提供基于ARM处理器内核的系统芯片解决方案和技术授权,但ARM公司不提供具体的芯片。2.2常用嵌入式操作系统(1)Linux操作系统。Linux操作系统类似于UNIX, 是一种免费的、源代码完全开放的,符合POSIX标准规范的操作系统。由于Linux的系统界面和编程接口与UNIX相似,所以UNIX程序员可以很容易地从UNIX环境转移到Linux环境中来。Linux拥有现代操作系统所具有的内容:真正的抢先式多任务处理,支持多用户、内存保护、虚拟内存,
15、支持对称多处理机SMP,符合POSIX标准,支持32 /64位CPU。嵌入式Linux版本众多。(2)Windows CE操作系统。Microsoft公司Windows CE是针对有限资源的平台而设计的多线程、完整优先权、多任务的操作系统,但它不是一个硬实时操作系统。高度模块化是Windows Ce的一个显著的特性,这一特性有利于它对从掌上电脑到专用工业控制器的用户电子设备进行定制。(3)uC/OS-II操作系统。uC/OS-II操作系统是一个可裁剪、源码开放、结构小巧、抢先式的实时性能优良和可扩展性能强等特点。uC/OS-II中最多可支持64个任务,分别对应优先级063,其中0为最高优先级。
16、2.3 嵌入式Linux环境的搭建嵌入式Linux(Embedded Linux)是指对Linux经过小型化裁剪后,能够固化在容量只有几十万字或几十字节的存储器芯片或单片机中,应用于特定嵌入式场合的专用Linux 操作系统。通常它的体积小,性能稳定,源代码免费,将大大减少开发商的成本,更具市竟争力。本文设计的播放器是基于嵌入式Linux操作系统进行设计。嵌入式Linux是按照嵌入式操作系统的要求而设计的一种小型操作系统。相对于WinCE、pSOS、palm05等商用实时操作系统(RTOS)它具有源码开放、易移植、模块化、资源丰富等优势。支持多线程、多进程;支持多种平台,如x86、PowerPC
17、、ARM、MIPS等等。如图2-11所示,它是由一个内核和一些可以定制系统模块组成,如文件模块,网络模块,各种驱动模块等。针对本应用,对其进行了裁剪和配置,只包含了系统所需的模块支持ext2jffs2等文件系统;内存驱动模块提供内存管理功能;网络接口模块支持以太网接口;GPIO驱动模块主要是提供给键盘和触摸屏使用;图形驱动模块是图形用户界面(GUI)和图像显示的底层支撑模块;音频设备输出驱动模块支持音频数据的数模转换。应用程序文件系统驱动模块内存驱动模块网络驱动模块GPIO驱动模块图形驱动模块音频输出驱动模块嵌入式Linux内核硬件平台图2-2 嵌入式Linux体系结构2.4 引导装载程序Bo
18、otLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。最终,bootloader把操作系统内核映像加载到RAM中,并将系统控制权传递给它。Bootloader程序与硬件平台有很强相关性,不同开发板需要不同的bootloader。与Linux一样,网上有很多开放源代码的bootloader,在为自己的开发板写bootloader程序时,可以先找到与硬件平台相类似的bootloader,然后只要做一些改动就可以在开发板上运行了。Bootloade
19、r的功能相当于一个通信控制器,有了它之后,才可以通过串口或网口完成内核的加载和应用程序的烧写。当然,利用JTAG技术也可以完成上述任务,但是,JTAG烧写速度很慢12。本系统采用的是Superboot,Superboot在嵌入式系统中相当于PC机的BI0S加上操作系统引导头部的内容,并且引导操作系统进行装载和运行,Superboot启动后有一系列的命令,使得我们能够方便地对FLASH、RAM进行操作,同时Superboot己经对系统的频率、定时器进行了设置,初始化了一个调试串口,这样可以通过串口或以太网进行数据的下载。Superboot的主要特点如下表所示13:描述支持SD卡脱机烧写(根据配置
20、文件),速度极快(1.8M/秒) 烧写WinCE(50M)仅需26秒 烧写Android(80M)仅需42秒 烧写Linux(220M)仅需不到2分钟支持SD卡脱机烧写UBIFS格式映像文件(Android系统专用)支持USB一键烧写支持任意大小的文件烧写,不受限于内存大小支持USB下载裸机程序到内存运行,对调试十分有用支持MLC/SLC等多种Flash类型,自动识别烧写和运行均支持自动探测一线显示屏型号,即插即用支持“拷贝到SD卡即可运行”(Linux/WinCE/裸机程序/Ubuntu)2.5宿主机开发环境配置(1)安装Linux系统宿主开发环境,我们选用在windows下安装VMware
21、 WorkStation虚拟机+ ubuntu13.04的组合来组建26第三章交叉开发环境的建立过程3.1交叉开发环境嵌入式系统通常是一个资源受限的系统,无法直接在嵌入式系统的硬件平台上进行相关的软件开发工作,因此必须采用一种特殊的开发模式即交叉开发。(1)交叉开发是指在一台通用计算机上进行软件的编辑、编译,然后下载到嵌入式设备中运行调试的开发方式。用来开发的通用计算机可选用比较常见的PC,运行通用的Windows、Linux等操作系统。开发计算机一般称为宿主机,嵌入式设备被称为目标机。(2)嵌入式系统软件不同于通用计算机的软件开发,需要建立一个交叉开发环境,属于跨平台的开发。交叉开发采用的解
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 嵌入式 Linux Madplay 音频 播放 设计 论文
限制150内