基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文Word下载.docx

上传人:b****5 文档编号:19931767 上传时间:2023-01-12 格式:DOCX 页数:45 大小:1.42MB
下载 相关 举报
基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文Word下载.docx_第1页
第1页 / 共45页
基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文Word下载.docx_第2页
第2页 / 共45页
基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文Word下载.docx_第3页
第3页 / 共45页
基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文Word下载.docx_第4页
第4页 / 共45页
基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文Word下载.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文Word下载.docx

《基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文Word下载.docx(45页珍藏版)》请在冰豆网上搜索。

基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文Word下载.docx

VolumeControl"

Exit"

and"

ShowSongsPlayingState"

.Thewhloesystemrunsstably,andreachedthebasicdesignrequirement.

Keywords:

embededLinux;

transplant;

Linux;

第一章绪论

1.1课题研究背景和意义

随着社会的日益信息化,计算机和网络已经全面渗透到日常生活的每一个角落。

对于我们每个人来说,需要的已经不再仅仅是那种放在桌上处理文档、进行工作管理和生产控制的计算机机器。

任何一个普通人都可能拥有各种使用嵌入式技术的电子产品。

如今,各种新式嵌入式设备从数量来说已经完胜常规计算机了。

尤其在工业中,几十年来,具有嵌入式技术的数控机床、工业智能机器人、智能设备、服务型机器人一直都对传统的工业生产方式不断改善和提高着。

MovingPictureExpertsGroupAudioLayerIII(MPEG-1AudioLayer3,动态影像专家压缩标准音频层面3),经常称为MP3,是当今相当流行的一种数字音频编码和有损压缩格式,它被设计来大幅降低音频数据量,而对于大多数用户的人体自身听觉感受来说,重放的音质与最初的不压缩音频相比并没有极其明显的下降。

MP3播放器是嵌入式系统的主要应用之一,高端的MP3已经不仅仅着眼于音乐播放这一功能,而是同时具备了图片浏览、文本阅读、甚至视频播放等强大功能。

本文重点讨论基于S3C2440芯片的MP3播放器的实现,还包括开发环境建立、内核裁剪与编译、Qt开发等一系列过程。

像以前需要两块甚至多块芯片才能处理的数据,现在基本上可以通过单块ARM芯片完成,不仅仅降低系统成本,同时也简化了系统的设计过程。

而且嵌入式Linux操作系统的出现,使得应用软件的开发也变得相对简单,此外Linux天生的多平台兼容性,使其移植到ARM平台相对简单,再加上其可裁剪的优点,使得嵌入式Linux成为当前嵌入式开发的主流系统。

所以课题选择基于嵌入式Linux的MP3播放器的设计与实现,具有一定的现实意义。

同时,毕业设计也是将大学所学知识的一次综合运用,也会使得在文献检索、查阅资料、科学研究素养和文档写作等方面的能力得到进一步提高。

1.2嵌入式系统发展和现状

1.2.1嵌入式操作系统

英国电机工程师协会BIEE(BritainInstituteofEletricalEngineers)对嵌入式系统的定义是:

嵌入式系统为控制、监视或辅助设备、机器甚至工厂运作的装置[1]。

从20世纪80年代开始,在嵌入式系统出现了“操作系统”概念,这使得开发人员可以进一步缩短开发周期,降低开发成本并提高开发效率。

例如著名的VxWorks,该系统如今被华为、H3C、中兴等众多网络设备和通信设备厂商所采用。

而思科采用了基于UNIX开发而来的“网际互联操作系统”(InternetOperationSystem,缩写为IOS);

另一家网络设备厂商Juniper所使用的JunOS系统直接运行于FreeBSD内核之上,和内核联系紧密。

20世纪90年代之后,随着对实时性要求的提高、软件规模不断增加,逐渐发展出实时多任务操作系统,并作为一种软件平台逐步成为目前嵌入式操作系统的主流。

许多大公司看到了嵌入式系统的无限美好的发展前景,开始大力发展自己的嵌入式操作系统如PalmOS、PalmWebOS、WindowsCE、嵌入式Linux、Symbian、BlackBerryOS、µ

C/OS-II、eCOS、uITRON等嵌入式操作系统。

[2]

21世纪第一个十年的后半叶,出现了三大系统:

2007年,苹果公司发布了改变人们生活的iPhone和iOS操作系统;

随后,2008年,谷歌发布了Andriod操作系统;

微软于2010年发布WindowsPhone7系统、2012年发布了WindowsPhone8系统。

这几年里,基于这三大智能系统的智能手机、平板电脑的数量爆发式增长,提高了人们的工作效率和生活舒适度。

尤其是平板电脑,使人们对嵌入式设备和电脑界限的划分逐渐模糊。

除了上面的这些操作系统之外,三星、Ubuntu甚至是Firefox等公司都发布了自己的操作系统和手机。

三星、Ubuntu等许多公司的系统都是是基于Linux开发而来的,仅有少数是个例外如FirefoxOS,该系统是基于HTML5的,毕竟火狐本身就是一个浏览器厂商。

在这场操作系统之争中,如PalmOS、WebOS、WindowsCE、Meego等系统已经淡出了历史的舞台,而Symbian、BlackBerryOS则在垂死挣扎。

嵌入式Linux和Andriod是开源的系统。

开发基于Andriod的系统时,需要向其他厂商如微软、诺基亚、三星等公司缴纳专利授权费用,而基于嵌入式Linux开发的系统就没有这个问题,适合小型厂商和个人的商业开发。

1.2.2嵌入式Linux和Linux

嵌入式系统和通用计算机系统相比具有如下特点:

可裁剪性好、系统内核小、功耗低、可靠性高、实时性好等。

嵌入式Linux和Linux应用程序开发没有太大区别,但是,嵌入式Linux系统的开发过程中同纯粹基于Linux环境下的开发流程有着一个本质的不同之处:

前者需要在宿主机器上交叉编译、交叉调试,而在目标机上运行被调试程序;

而后者都是在通用计算机上进行本机编辑,本机编译、连接、调试、运行的。

UNIX,作为现代操作系统的祖先,从贝尔实验室流传出来。

而在UNIX的发展过程中,产生的C语言,是贝尔实验室对科技发展的又一重大贡献。

贝尔实验室的母公司——美国电话和电报公司(AT&

T),见有利可图,就禁止免费使用UNIX并推出了收费版本UNIXSystemV。

之后UNIX分化成了许多不同分支和发行版本,最著名就是FreeBSDUNIX。

GNU,即GNU’sNotUNIX。

该组织建立与1983年,其目标是创建一套完全免费的、自由的UNIX-like系统。

该组织编写出了一个完整操作系统的大部分内容,如编译器、系统管理工具、网络工具、Office套件、多媒体和绘图软件,除了内核。

Linux由LinusTrovalds于1991年发明,是1990年后出现的新学派Unix阵营(也包括FreeBSD、NetBSD、OpenBSD和Darwin)的领头羊,代表了整个阵营的设计方向[3]。

一个叫Linus的大二学生写出了一个内核,被GNU看中,然后就有了今天的Linux。

Linux,最大的特色是开源和免费,遵循着GPL开发者们可以根据自身需要灵活的进行定制化开发,因此也产生了相当多的Linux的发行版本。

1.2.3ARM的介绍

嵌入式处理器与常见的基X86架构处理器的PC相比,最大的优势是低功耗。

此外,嵌入式操作系统是实时操作系统,着眼于调度所有可以使用的资源来完成实时控制任务,而桌面操作系统如UNIX、Linux和Windows都是分时操作系统。

按照处理器内核的体系结构,可以将嵌入式处理器分为:

MIPS处理器、ARM处理器、PowerPC处理器、ColdFire/68K处理器等。

智能手机和平板电脑的流行,让“ARM”这一词语频繁出现在人们的视野中,普通人都常常能到报纸、电视上见到这个词。

什么事“ARM”?

ARM是AdvancedRISCMachines(高级精简指令集处理机)的缩写,表示一种知识产权核。

同时“ARM”也是一家公司的名称,ARM这家公司于1991年成立于英国剑桥,该公司的特点是只设计基于ARM架构的处理器内核,再将该产品及相关专利授权给其他半导体厂商、软件厂商和OEM厂商公司使用或生产,包括Intel、Apple、微软、三星、高通、索尼等[4],ARM公司本身没有任何工厂。

英特尔当前是全球PC处理器的主导者,市场份额超过了80%。

但2012年全球PC市场在过去的10年间首次出现下滑,而ARM的份额逐年稳步增长。

ARM公司与2012年十月发布的Cortex-A50核心,面向服务器领域,此番旨在同Intel争夺其基于X86体系的服务器市场。

几乎在同时,AMD宣布基于此核心来开发64位ARM架构的处理器,这使得AMD成为业界中不仅唯一一家具有独立制造CPU和GPU能力的厂商,而且将是唯一一家能提供基于X86和ARM架构的处理器芯片的厂商。

微软于2012年10月发布基于ARM架构CPU的SurfaceWindowsRT,同时也意味着视窗操作系统从Windows8开始可以在ARM平台上运行了。

ARM处理器分为如下几个系列:

ARM7、ARM9、ARM9E、ARM10E、ARM11、Cortex-A8、Cortex-A9、Cortex-A15等。

本毕业设计基于三星S3C2440的XC2400开发板,其微处理器为基于ARM9内核的ARM920T。

1.2.4Qt的介绍

Qt是挪威TrollTech公司开发的跨平台C++图形用户界面研发工具。

2008年该公司被Nokia收购。

2009年Nokia公开了Qt的源代码。

2012年,Nokia将Qt售予芬兰软件公司Digia,而Qt仍将保持开源。

Digia计划将Qt推广到Andriod、iOS和Windows8平台。

Qt的一个显著特点是跨平台特性。

通过对不同平台的私有API,如文字处理、网络协议、进程处理、线程、数据库访问等进行封装。

Qt可以在多个平台(Unix、Linux、Windows、Mac等)上运行,从某种意义上讲,Qt类似于Microsof的MFC或Borland的VCL,都是C++的一个函数库。

不同的是它封装不同操作系统的访问细节,而且能实现跨平台应用[5]。

QT的版本比较多,对于初学者容易搞混。

现分别介绍:

(1)Qt/X11:

是指用专门于Linux或者Unix的版本。

如:

qt-x11-opensource-src-4.6.3.tar.gz,它是用于PC机linux平台的Qt源码包。

Linux操作系统中的常见的KDE桌面就是用Qt/X11开发的;

(2)QtWindows:

是指用于Windows的Qt版本;

(3)Qt-everywhere:

在配置时加上不同参数的话,选择性地编译用于X86,或者用于ARM平台,如qt-everywhere-opensource-src-4.6.3.tar.gz;

(4)Qt/Embedded:

即Qt/E。

其是专门用于ARM平台的Qt版本。

如qt-embedded-linux-opensource-src-4.6.3.tar.gz,它是用于嵌入式ARM的qt源码包。

本次毕业设计将在X86平台上安装面向Qt/X11的Qt,软件版本为qt-SDK-linux-x86-opensource-2010.04。

安装在/opt目录下,在桌面会生出QtCreator快捷方式,打开后进行一些参数的设置之后即可进行程序的开发,例如指定qmake的路径。

1.3论文所做的工作和结构

1.3.1论文所做的工作

本毕业设计在RedHatEnterpriseLinux中安装QtCreator开发工具,实现在嵌入式Linux下的MP3播放器。

能通过图形界面控制播放和暂停、快进快退、上下曲、音量增减、显示歌曲状态信息等功能。

本课题的主要研究内容包括:

(1)了解一个嵌入式Linux系统的开发流程;

(2)开发平台的搭建:

包括交叉编译环境的建立、环境变量的配置等;

(3)掌握Linux内核的移植、开源MP3音乐播放器的移植、用Qt开发的程序及其移植;

(1)了解Bootloader的功能和作用;

(2)掌握嵌入式Linux的程序开发,以及编译、调试方法和步骤。

需要解决的关键性问题:

(1)熟悉嵌入式Linux和其开发流程中涉及的的裁剪和移植;

(2)开源播放器MPlayer的移植和播放测试;

(3)用Qt实现对播放器的图形界面的开发,并实现相应的功能。

1.3.2论文结构

本论文共分六章:

论文的第一章,是绪论部分。

主要是对课题的研究目的及意义,课题现状以及作者所做的工作进行简略的介绍;

对嵌入式操作系统进行梳理和介绍和以比较;

介绍ARM体系的基本发展和特性;

对Qt进行基本的介绍。

第二章主要介绍了本系统的硬件平台。

首先是对系统的整体架构进行了介绍;

对系统的硬件电路和功能模块进行了介绍。

第三章主要是搭建嵌入式开发平台。

介绍RedHat、VMwareStation及其相关的使用和技巧。

第四章主要是详细MPlayer的编译和移植工作,以及Qt程序的开发和移植工作。

第五章主要是实验结果和毕业设计过程中遇到的一些问题。

第六章是总结与展望,回顾了本次毕业设计及其中的不足之处。

第二章系统总体方案设计

2.1系统框架概述

根据嵌入式MP3媒体播放器系统的需求分析,本文选择了基于ARM9内核的处理器的开发板作为本系统的实现的平台,下文将对其中硬件设备做介绍。

软件平台选择嵌入式Linux操作系统。

毕业设计中的开发平台是RedHatEnterpriseLinux6.3操作系统,其是安装在VMwareStation9.0虚拟化平台中的,可以方便的与Windows操作系统进行数据共享和传输。

为了搭建整个开发环境,还需要交叉建立交叉编译环境。

播放器系统的整体结构由下到上为:

应用层(Qt、MPlayer)、操作系统层(Linux)、驱动层(音频驱动、液晶屏幕驱动等)和物理层(ARM芯片以及外围电路)。

2.2开发板硬件介绍

本次毕业设计使用XC2440开发板,如图2.1所示:

包括S3C2440处理器、NANDFlash、NORFlash、SDRAM、串口、下载接口、音频解码芯片和接口、LCD和触摸屏接口、时钟电路、复位电路等。

图2.1XC2440开发板

2.2.1主要硬件及其参数

●CPU:

主频为400MHz的三星S3C2440A

●内存:

64MBytesSDRAM

●闪存:

256MBytesNandflash+2MBytesNorflash

●板载复位电路

●板载电源管理芯片

●内部RTC(Real-TimeClock,实时时钟)功能

●180Pin管脚以1.27mm间距排针形式引出

●4.3寸TFTLCD,带触摸屏,分辨率480×

272

2.2.2接口资源

●1个100M以太网接口

●1个RS232电平串口

●2个TTL电平串口

●1个USBHOST接口

●1个USBDEVICE接口

●1个LCD接口

●1个Camera接口

●1个microSD/TF卡接口

●2个音频接口,uda1341音频芯片,使用IIS和L3总线,一路立体声输入,一路立体声输出

●1个温度传感器

●1个红外接收管

●2个电位器

●4个用户LED

●4个用户按键

●1个蜂鸣器

●1个JTAG接口

●1个mircoSD/TF卡接口

●板载EEPROM

●板载RTC供电电池

2.2.3NAND和NORFlash的相关介绍:

“NAND”这个名称表示其是由“与非”逻辑门电路构成,而“NOR”则表明其内部有“或非”逻辑门电路构成。

从对数据传输速率来看,NAND要比NOR快很多,因为NAND是按页操作的而NOR是按字节操作的。

NOR是和SRAM一样的可随机存储的,也不需要驱动,因此,其受限于地址线,地址就是有限的,所以容量普遍较小;

NOR的优点则表现在读取速度快,而且程序可以直接在芯片内部运行,不需要再读入SDRAM中了。

再从价格上来看,NOR的价格更高。

从实际应用来看,NOR较多的用在工业领域,特别是用于程序存储等少量数据存储的需求;

NAND较多使用再在消费领域中,适合大量数据存储。

U-boot程序不支持从Nandflash启动,但是S3C2440支持从Nandflash启动。

开发板加电后S3C2440将Nandflash的前4k(保存有U-boot的部分功能)中的内容拷贝到SDRAM。

这就需要修改U-boot源码,使得U-boot在得到执行权后能够将其自身拷贝到开发板上SDRAM中,以便处理器能够执行U-boot。

幸好这些工作已经由开发板厂商完成了,不需要用户自行开发。

2.2.4S3C2440的启动方式说明

如果把S3C2440配置成从NANDFlash启动(开发板启动开关拔至NAND端)S3C2440的NAND控制器会自动把NANDflash中的前4K代码数据复制至内部SRAM中(地址为0x40000000),同时还把这块SDRAM的地址映射为0x00000000(CPU总是从0x00000000地址开始运行程序)。

如果将S3C2440配置成从NORFlash启动(开发板启动开关拔至NOR端),0x00000000就是NORFlash实际的起始地址,Norflash中的程序就从这里开始运行,不会涉及到数据拷贝和地址映射。

2.3用于本设计MP3播放器的硬件架构

该MP3播放器系统总体框图如图2.2所示:

包括基于ARM价格的三星S3C2440处理器,NAND、SDRAM存储器、音频处理模块、LCD和触摸屏接口、复位按键、J-link接口等。

图2.2MP3播放器硬件框图

本方案的说明:

采用基于ARMS3C2440的开发板。

XC2440开发板采用ARM9系列芯片S3C2440作为核心芯片,搭配4.3英寸液晶触摸屏,以及自带音频解码芯片UDA1341,完全胜任MP3文件的解码工作。

NORFlash用来存放着引导程序U-boot;

NAND中除了放着U-boot还有系统内核及文件系统,以及歌曲文件;

SDRAM用于存放着系统的运行中产生的数据;

液晶触摸屏可以让用户进行操作,播放视频时还可以看到视频;

系统采用嵌入式Linux系统,Linux操作系统具有很多优点,如内核可裁剪、高度的可移植性等,支持几乎所有的主流芯片,并且还在不断地被移植至新的芯片上。

此外采用开源Linux系统,不需要像其它一些系统那样需要缴纳专利授权费用。

第三章嵌入式Linux的开发流程

3.1开发环境的搭建概述

3.1.1硬件平台

ARM开发板,主机,局域网。

3.1.2软件平台

(1)操作系统

本次毕业设计使用虚拟化平台VMwareStation,并在其中建立虚拟机,进而在该虚拟机之中安装RedHatEnterpriseLinux系统。

(2)交叉编译环境

交叉编译是指:

在PC机上编译,在目标板上直接可以执行,不需要重新在目标平台上面进行编译了。

交叉编译环境主要包括:

目标板操作系统、目标板CPU体系架构、编译器等。

目标板操作系统:

经过裁剪的Linux系统。

目标板使用的CPU:

基于ARM9架构的ARM920t内核。

编译器:

gcc,arm-linux-gcc、makefile工具、库函数等。

3.主机和开发板之间的通信接口

串口:

用串口控制板子。

可用DNW软件设置好要控制的串口、波特率。

使用串口线也可以传输文件至开发板,但是速率较慢。

USB下载线:

可以使用DNW软件下载U-boot、系统内核、文件系统镜像文件到开发板,传输速率较快。

RJ-45以太网接口:

设置好开发板、PC网卡的IP地址后,可以用NFS挂载的方式来共享主机需要下载到开发板上编译好的代码,也可以使用FTP、TFTP工具来传输文件,这样速率非常快,并且很方便使用。

在配置好网络后,就可以用Telnet客户端控制开发板,这样就可以免去频繁的切换目录了。

3.2安装软件平台和搭建开发环境的步骤

3.2.1虚拟化平台的介绍与安装

毕业设计中的开发平台是Linux操作系统,其是安装在VMwareStation9.0这个虚拟化平台中的,可以方便的与Windows操作系统进行数据共享和传输。

目前,Windows操作系统中的很多常用软件并不支持在Linux平台上运行,如果直接安装Linux,那么在

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

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1