基于嵌入式Linux下的Madplay音频播放器设计论文.docx

上传人:哈尼dd 文档编号:3923014 上传时间:2019-10-10 格式:DOCX 页数:30 大小:3.99MB
返回 下载 相关 举报
基于嵌入式Linux下的Madplay音频播放器设计论文.docx_第1页
第1页 / 共30页
基于嵌入式Linux下的Madplay音频播放器设计论文.docx_第2页
第2页 / 共30页
基于嵌入式Linux下的Madplay音频播放器设计论文.docx_第3页
第3页 / 共30页
基于嵌入式Linux下的Madplay音频播放器设计论文.docx_第4页
第4页 / 共30页
基于嵌入式Linux下的Madplay音频播放器设计论文.docx_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《基于嵌入式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)嵌入式系统软件不同于通用计算机的软件开发,需要建立一个交叉开发环境,属于跨平台的开发。交叉开发采用的解

22、决办法是:在宿主机上进行内核及文件系统的裁剪并编写应用程序,然后通过交叉编译,生成目标机上可以运行的二进制代码格式,最后再下载到目标机上的特定位置上运行。(3)嵌入式系统开发分为软件开发部分和硬件开发部分。嵌入式系统在开发过程一般都采用如图1.1所示的“宿主机/目标板”开发模式,即利用宿主机(PC机)上丰富的软硬件资源及良好的开发环境和调试工具来开发目标板上的软件,然后通过交叉编译环境生成目标代码和可执行文件,通过串口/USB/以太网等方式下载到目标板上,利用交叉调试器在监控程序运行,实时分析,最后,将程序下载固化到目标机上,完成整个开发过程。3.2嵌入式交叉开发环境的建立方法Linux下gc

23、c、g+等编译器编译完成的可执行程序,能够在PC机内执行,但不一定能够在ARM目标机上执行,因此需要通过交叉编译的方式进行软件开发,把在PC机上编译的程序,放到目标机上执行,所以采用交叉编译器,Tiny6410开发板提供了4.5.1版本的交叉编译器。方法:(1) 在linux下把arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz拷贝到用户文件夹下,进行解压,tar zxvf arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz C /即把arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz解压到根目录下,解压完成后

24、在根目录下有opt目录,即交叉编译链所在的目录:/opt/FriendlyARM/toolschain/4.5.1/(2) 配置环境变量:sudo Vi /root/.bashrc打开/root/.bashrc文件后,在最后一行添加如下路径:export PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin路径一定写绝对路径保存,并退出。(3) 重新启动环境变量:sudo source /root/.bashrc(4) 查看交叉编译器的版本号:第四章 硬件开发平台的介绍本设计使用的硬件开发平台是友善之臂的mini6410开发板,此平台由核心板和外设板

25、组成,下面分别对这两部分进行介绍。4.1核心板核心板如图2-1所示,板上集成Samsung S3C6410处理器,1G的FLASH和256M的DDR RAM,它能为我们的研发、应用提供足够的空间。 图2-1 核心板 Tiny6410是一款以ARM11芯片(三星S3C6410)作为主处理器的嵌入式核心板,该CPU基于ARM1176JZF-S核设计,内部集成了强大的多媒体处理单元,支持Mpeg4, H.264/H.263等格式的视频文件硬件编解码,可同时输出至LCD和TV显示;它还并带有3D图形硬件加速器,以实现OpenGL ES 1.1 & 2.0加速渲染,另外它还支持2D图形图像的平滑缩放,翻

26、转等操作。4.1外设板外设板为核心板的应用提供了其它的接口和设备,它提供以下外设接口:标准接口资源(1) 1个100M以太网RJ45接口(采用DM9000网卡芯片);(2) 1个DB9式RS232五线串口(另有4个TTL电平串口,见下);(3) 四线RS232/RS485串口各一个(COM2、COM3);(4) 1个mini USB Slave-OTG 2.0接口;(5) 1路3.5mm立体声音频输出接口,1路在板麦克风输入;(6) 1路TV-OUT输出接口;(7) 1路USB Host 1.1接口;(8) 1个标准SD卡座;(9) 1路红外接收头;(10) 5V直流电压输入;在板即用资源(1

27、) 1个I2C-EEPROM芯片(256byte),主要用于测试I2C总线;(2) 4个 用户LED(绿色);(3) 8个侧立按键(中断式资源引脚,带引出座);(4) 1个可调电阻,用于ADC转换测试;(5) 1个PWM控制蜂鸣器;(6) 板载实时时钟备份电池;外扩接口资源 (1) 4个串口座(TTL电平, 2.0mm间距,直插式卡座);(2) 10pin 2.0mm间距JTAG接口;(3) 双LCD接口(41pin迷你座,可兼容mini2440 LCD接口,和40pin 2.0mm双排座);(4) 20pin 2.0mm间距SDIO接口(可接SD WiFi,其中还包含1路SPI和I2C接口)

28、;(5) 20pin 2.0mm间距CMOS摄像头接口;(6) 30pin 2.0mm间距GPIO接口;(7) 40pin 2.0mm间距系统总线接口;(8) 10pin 2.0mm间距贴片按键引出座(含8路中断式按键引脚,电源和地);核心板和底板是通过一个180针的插槽相接,它们配合后即构成一个完整的应用系统。应用程序文件系统驱动模块内存驱动模块网络驱动模块GPIO驱动模块图形驱动模块音频输出驱动模块嵌入式Linux内核硬件平台图2-2 嵌入式Linux体系结构第五章MP3播放器的制作与移植5.1 Madplay原理madplay 是linux上的一个开源mp3播放器,是一个高精度MPEG音

29、频解码库。支持MPEG-1 Layer I, Layer II 和 LayerIII(也就是 MP3)标准,它利用libmad库进行mp3软解码。libmad提供 24-bit 的 PCM 输出,完全定点计算,使用 libmad 提供的一系列 API,就可以非常简单地实现 MP3 数据解码工作。在 libmad 的源代码文件目录下的 mad.h 文件中,可以看到绝大部分该库的数据结构和 API 等。madplay基于libmad还做了一些扩展功能,比如将mp3格式转成别的音频格式如 wav等,又集成了libid3tag库进行mp3信息显示,非常适合在没有浮点支持的嵌入式硬件平台上使用。libm

30、ad主要数据结构如表5-1所示:表5-1 libmad主要数据结构主要数据结构作用struct mad_stream存放解码前的Bitstream数据struct mad_synth存放解码合成滤波后的PCM数据struct mad_pcm定义了音频的采样率,声道个数和PCM采样数据,用来初始化音频struct mad_frame记录MPEG帧解码后PCM数据的数据结构,其中的mad_Header用来记录MPEG帧的基本信息,比如MPEG层数、声道模式、流比特率、采样比特率。声道模式包括单声道、双声道、联合立体混音道以及一般立体声。5.2 任务分析本项目是以友善之臂Tiny6410 作为开发平

31、台,使用madplay来移植并测试几种音频频格式流畅播放;任务1要移植嵌入式媒体播放器,首先要先确定其依赖哪些库,先把库移植后,才能移植播放器,否则无法正常运行播放器。本次实验使用的是静态编译方法无需动态库。任务2完成播放器库编译成功后,拷贝出可执行的播放器文件,拷贝到开发板相应位置。把播放器相应库文件和播放器可执行文件拷贝到开发板相应文件夹下,用一个mp3或者MP4文件进行测试,并给出截图.基本功能:在tiny6410开发板上实现MP3文件的播放。 实现方法:硬件:PC机1台软件:Linux操作系统、嵌入式Linux开发环境、madplay-0.15.2b.tar.gz、libid3tag-

32、0.15.1b.tar.gz、libmad-0.15.1b.tar.gz、zlib-1.2.3.tar.gz5.3编译madplay播放器编译:我们需要在home下先建立两个文件夹,一个存放源码,一个存放安装文件,即madplay-src和madplay 文件夹。依次解压四个源码包到madplay-src目录下。 (1) 编译zlib-1.1.4使用命令./configure -prefix=/home/madplay进入madplay目录。配置configure 文件并修改Makefile 文件中的内容: CC=arm-linux-gcc AR=arm-linux-ar rc RANLIB=

33、arm-linux-ranlib #make #make install (2) 编译libid3tag#./configure CC=arm-linux-gcc -host=arm-linux -prefix=/home/madplay CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib#make #make install (3) 编译libmad #./configure CC=arm-linux-gcc -host=arm-linux -prefix=/home/madplay CPPFLAGS=-I/home/ma

34、dplay/include LDFLAGS=-L/home/madplay/lib #make #make install 修改makefile 找到里面的“-fforce-mem”,然后删除保存退出 (4) 编译madplay #./configure CC=arm-linux-gcc -host=arm-linux -prefix=/home/madplay CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib #make (5)静态编译以上是用动态编译的方法,程序运行时需依赖动态库文件。也可以采用静态编译的方法,将静态库

35、编译到程序中,运行时不需要动态库文件。在配置libid3tag、libmad、madplay时,加上参数“disable-shared -enable-static”即可静态编译madplay 。编译完成后只需将madplay复制到根文件系统/usr/bin目录下,不需要复制动态库。5.4移植madplay到Tiny6410首先启动tiny6410开发板,插入U盘查看U盘内是否有我们实验需要的文件进入udisk 查看到有 madplay 和5.MP3然后打开终端进入udisk在udisk目录下执行madplay /5.mp3执行成功,按i 显示歌曲播放时间。5.5实验中的问题1 通过-disa

36、ble-shared和-enable-static方式编译产生madplay,通过file madplay或arm-linux-readelf d madplay命令均可得出生成的madplay是动态链接的。在实验板上运行也提示加载共享库失败。这说明-disable-shared和-enable-static并不能进行静态编译。复制在编译madplay时的最后一条gcc命令,并在末尾加上-static并运行,所需的动态链接库就添加到了可执行文件中。再执行file madplay显示可执行文件是statically linked。2 第一次进行最后的静态编译时不能通过,经检查发现编译zlib-1

37、.2.3时只修改了Makefile.in文件而未修改Makefile,所以进行的不是交叉编译。修改Makefile的响应指令即解决。3 如果将源码包文件夹和存放生成库文件的文件夹放在一个目录下,即使修改CPPFLAGS和LDFLAGS也无法找到安装zlib时生成的libz.a。解决方法是将存放生成的库文件的文件夹libz放在源码包文件夹madplay中。4 第一次下载的libmad-0.15.1b.tar.gz解压时出错未完全解压导致编译失败。重新下载另一个libmad-0.15.1b.tar.gz即解决。5结论与展望 本次的毕业设计学习了媒体播放器移植怎样更好地将嵌入式系统与Linux结合起

38、来应用于实际的生产生活中,因此,可以丰富嵌入式Linux操作系统上的应用程序,用其移植代码实现音乐的功能,在操作中遇到了许多难题,最后通过老师的帮助解决了。在做毕业设计的途中我遇到了很多的问题,但最后都和同学讨论,并向老师请教得到解决,但同时让我了解madplay播放器的重要性,在嵌入式媒体播放器移植学习过程中,我学到了如何查找文件,和让我了解到了什么madplay以及它们的优缺点,在此我深刻体会到:一个项目的完成离不开失败,正因为失败才使我更加的理解了媒体播放器的制作方法,相信在以后的任务中也会顺利解决的。毕业设计虽然进行了一个多月时间,前期的软件知识了解花了很多时间,走了很多弯路。由于条件

39、的限制,我并没有亲手将这些硬件的设计实现,所有的一切都是在纸上谈兵,软件的设计也是根据之前老师指导的方式,在参考了许多设计资料之后,我终于完成了这篇关于嵌入式MP3播放器设计的论文。 对于这篇论文,我本人的实在很难满意,从硬件的设计角度来说,我所选用的芯片都是集成度很高的芯片,市面上用的很多的芯片,当然这并不是什么错误,可是这也局限了我的思维,我始终很难脱离传统的MP3设计,这里的MP3设计已经是2,3年前的技术了,几乎没有加入自己的创新,参考了比较成熟的方案。而软件的设计部分,虽然程序的流程我大体明白,可是没有动手实际的去做过一个程序,这实在难以服人,不动手永远也不知道问题的关键到底在那里。

40、 虽然上面的话反映出我这篇论文的许多不足,不过我不得不说通过这次嵌入式系统设计的学习,我掌握了很多硬件知识,懂得了很多以前我不知道,或者不是很明白的问题,了解了当前实时操作系统设计的一些命令和方案,这对我今后的发展很有帮助。在这里提个建议,如果以后的嵌入式系统设计课程中,能有条件真正让参与课程学习的人做真实的项目,我想那将对嵌入式系统设计的学习有很大的促进。 另外,对于嵌入式系统设计教材的编写,我想就满足大多数人来说,应该侧重于软硬件结合的部分,在讨论一个嵌入式系统时,要将两方面结合起来,软件部分和硬件部分在一个嵌入式系统中的地位,它们是如何配合工作的,我们在设计一个系统时,应当怎样考虑硬件部

41、分与软件部分的分工问题。 以上是我通过学习嵌入式系统设计的体会,在此我也要感谢李兰兰老师,是李老师的认真负责让我从这门课程中学到了嵌入式系统设计的知识,掌握了嵌入式系统设计的方法,这为我以后更深入的学习打下了良好的基础。随着时代的变迁MP3播放器已经不能满足当代人的需求。MP3播放器正在走向消亡。由于功能已被智能手机涵盖,但是MP3播放器是一代又代人智慧的结晶,不能因为有了新的东西就去放弃它。(1)MP3播放器追求极好的音质、超长播放时间和奇特的外观,以MP3播放器为首的音频播放器缺乏到动态彩屏显示。文本读取等一系列功能也是MP3播放器的软肋所在。(2)在很多女生心中,MP3就该是多功能的、彩

42、屏的,这样才够档次,也许这就是音频播放器失败的地方。(3)现在流行的是便携式多媒体播放器功能丰富注重娱乐的同时兼顾实用性,而本文的媒体播放器仅支持音文件播放,功能单一,为此以后的工作还应扩展如网络下载、文字处理、图片浏览等功能。致 谢 这次毕业设计得到了很多老师、同学和同事的帮助。其中我的导师 李兰兰老师对我的关心和支持尤为重要,每次遇到难题,我最先做的就是向李老师寻求帮助,而李老师每次不管忙或闲,总会抽空来找我面谈,然后一起商量解决的办法。 另外,感谢校方给予我这样一次机会,能够独立地完成一个课题,并在这个过程当中,给予我们各种方便,使我们在即将离校的最后一段时间里,能够更多学习一些实践应用

43、知识,增强了我们实践操作和动手应用能力,提高了独立思考的能力。 最后再一次对我的母校表示感谢,再一次感谢所有在这次毕业设计中给予过我帮助的人,同时也感谢学院为我提供良好的做毕业设计的环境。以及在设计中被我引用或参考的论著的作者。感谢在整个毕业设计期间和我密切合作的同学,和曾经在各个方面给予过我帮助的伙伴们,在大学生活即将结束的最后的日子里,我们再一次演绎了团结合作的童话,把一个庞大的,从来没有上手的课题,圆满地完成了。 参考文献1罗贤全,尚朝轩,高勤.开发Linux嵌入式应用程序. 微计算机信息J(测控自动化),2004,20(6):67-68.2潘影波,王健,Rusty Lynch. MIDLinux新一代播放器的设计与实现J. 计算机技术与发展,2009,19(2):202-204.3杜春雷arm体系结构与编程M北京:清华大学出版社20044W.Richard Stevens, Stephen A. Rago. Unix Programming in the UNIX Environment 2nd editionM.译者(尤晋元, 张亚英, 戚正伟),译.北京:人民邮电出版社,2006:47-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1