基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文.doc
《基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文.doc(59页珍藏版)》请在咨信网上搜索。
Design and Implementation for a MP3 Player Based on Embeded Linux A Dissertation Submitted to Nanjing Institute of Technology For the Academic Degree of Bachelor of Science By MinXian Zheng Supervised by Lecturer AiJun Sha KangNi College Nanjing Institute of Technology Jun 2013 摘 要 伴随嵌入式系统的持续发展以及普通用户对多媒体应用越来越旺盛的需求,具有多媒体播放功能设备逐渐成为嵌入式系统中必不可少的重要功能。此毕业设计将设计一个基于嵌入式Linux的MP3播放器,系统硬件采用基于ARM架构的开发板。 论文首先介绍了嵌入式操作系统的最新发展、嵌入式Linux、ARM的特点以及Qt等的相关知识。重点介绍了如何使用开源播放器MPlayer、解码库libmad、Qt Creator工具来开发一个有图形界面的MP3播放器。还介绍了如何移植U-boot、Linux内核、Qt和文件系统,并在移植好之后烧写到开发板之上,得到一个能独立运行在开发板上的MP3播放器。 系统测试表明,该MP3播放器能实现如下功能:“播放”、“暂停”、“停止”、“音量调节”、“退出程序”和“歌曲播放时间”,系统运行稳定,基本达到了设计要求。 关键词:嵌入式Linux;移植;Linux ;Qt Abstract Along with the sustainable development of the embedded system and the increasingly demands for multimedia applications, an electronic equipment has a functions of playing songs gradually become indispensably.This design will introduce an implemention for a MP3 player, based on embedded Linux system and an ARM architecture development board. This Paper introduces the latest development for embedded operating system, embedded Linux, the characteristics of the ARM, Qt and other related knowledges.Especially,this paper displays how to use the open source player MPlayer, a decoding library called libmad, Qt Creator tools to develop a graphical interface of an MP3 player.In this paper, the work of transplant the boot, the Linux kernel, Qt, and file systems is also introduced. After all system images are burned into the development board, one development board can run a MP3 player is obtained. System test shows that this MP3 player can realize the following function: "Play", "Pause" ,"Stop", "Volume Control", "Exit" and "Show Songs Playing State".The whloe system runs stably, and reached the basic design requirement. Keywords: embeded Linux;transplant;Linux;Qt 目 录 第一章 绪 论 1 1.1 课题研究背景和意义 1 1.2 嵌入式系统发展和现状 2 1.2.1 嵌入式操作系统 2 1.2.2 嵌入式Linux和Linux 3 1.2.3 ARM的介绍 3 1.2.4 Qt的介绍 4 1.3 论文所做的工作和结构 5 1.3.1 论文所做的工作 5 1.3.2 论文结构 6 第二章 系统总体方案设计 7 2.1 系统框架概述 7 2.2 开发板硬件介绍 7 2.2.1 主要硬件及其参数 8 2.2.2 接口资源 8 2.2.3 NAND和NOR Flash的相关介绍: 9 2.2.4 S3C2440的启动方式说明 10 2.3 用于本设计MP3播放器的硬件架构 10 第三章 嵌入式Linux的开发流程 12 3.1 开发环境的搭建概述 12 3.1.1 硬件平台 12 3.1.2 软件平台 12 3.2 安装软件平台和搭建开发环境的步骤 12 3.2.1 虚拟化平台的介绍与安装 13 3.2.2 RedHat介绍及其在VMware中的安装 14 3.2.3 安装VMware Tools 16 3.2.4 安装交叉编译器 17 3.3 Bootloader和U-boot的介绍 18 3.3.1 烧写U-boot 19 3.3.2 向NAND Flash烧写U-boot 21 3.4 使用FTP下载工具 23 第四章 系统详细设计 24 4.1 关于移植的原理和介绍 24 4.2 U-boot、内核和文件系统的移植。 24 4.3 开源播放软件MPlayer的安装和移植 25 4.3.1 在X86平台上安装MPlayer 25 4.3.2 向ARM平台移植MPlayer 26 4.4 设计基于Qt/E的播放器图形 30 4.4.1 Qt的实现原理和优势 30 4.4.2利用Qt Creator 开发应用程序流程 32 4.4.3 程序模块间关系图 33 4.4.4 程序的编写和实现 33 4.4.5 关键代码分析 35 4.4.5 编译和运行 41 第五章 系统调试和解决 43 5.1 系统调试及运行 43 5.2 本次毕业设计中遇到的问题和解决 44 第六章 总结与展望 46 参考文献 47 致谢 48 附录 A 源代码 49 附录A.1 main.cpp 49 附录A.2 mplayer.h 49 附录A.3 mplayer.cpp 50 第一章 绪 论 1.1 课题研究背景和意义 随着社会的日益信息化,计算机和网络已经全面渗透到日常生活的每一个角落。对于我们每个人来说,需要的已经不再仅仅是那种放在桌上处理文档、进行工作管理和生产控制的计算机机器。任何一个普通人都可能拥有各种使用嵌入式技术的电子产品。如今,各种新式嵌入式设备从数量来说已经完胜常规计算机了。尤其在工业中,几十年来,具有嵌入式技术的数控机床、工业智能机器人、智能设备、服务型机器人一直都对传统的工业生产方式不断改善和提高着。 Moving Picture Experts Group Audio Layer III(MPEG-1 Audio Layer 3,动态影像专家压缩标准音频层面3),经常称为MP3,是当今相当流行的一种数字音频编码和有损压缩格式,它被设计来大幅降低音频数据量,而对于大多数用户的人体自身听觉感受来说,重放的音质与最初的不压缩音频相比并没有极其明显的下降。 MP3播放器是嵌入式系统的主要应用之一,高端的MP3已经不仅仅着眼于音乐播放这一功能,而是同时具备了图片浏览、文本阅读、甚至视频播放等强大功能。本文重点讨论基于S3C2440芯片的MP3播放器的实现,还包括开发环境建立、内核裁剪与编译、Qt开发等一系列过程。 像以前需要两块甚至多块芯片才能处理的数据,现在基本上可以通过单块ARM芯片完成,不仅仅降低系统成本,同时也简化了系统的设计过程。而且嵌入式Linux操作系统的出现,使得应用软件的开发也变得相对简单,此外Linux天生的多平台兼容性,使其移植到ARM平台相对简单,再加上其可裁剪的优点,使得嵌入式Linux成为当前嵌入式开发的主流系统。 所以课题选择基于嵌入式Linux的MP3播放器的设计与实现,具有一定的现实意义。同时,毕业设计也是将大学所学知识的一次综合运用,也会使得在文献检索、查阅资料、科学研究素养和文档写作等方面的能力得到进一步提高。 1.2 嵌入式系统发展和现状 1.2.1 嵌入式操作系统 英国电机工程师协会BIEE(Britain Institute of Eletrical Engineers)对嵌入式系统的定义是:嵌入式系统为控制、监视或辅助设备、机器甚至工厂运作的装置[1]。 从20世纪80年代开始,在嵌入式系统出现了“操作系统”概念,这使得开发人员可以进一步缩短开发周期,降低开发成本并提高开发效率。例如著名的VxWorks,该系统如今被华为、H3C、中兴等众多网络设备和通信设备厂商所采用。而思科采用了基于UNIX开发而来的“网际互联操作系统”(Internet Operation System ,缩写为IOS);另一家网络设备厂商Juniper所使用的JunOS系统直接运行于Free BSD内核之上,和内核联系紧密。 20世纪90年代之后,随着对实时性要求的提高、软件规模不断增加,逐渐发展出实时多任务操作系统,并作为一种软件平台逐步成为目前嵌入式操作系统的主流。许多大公司看到了嵌入式系统的无限美好的发展前景,开始大力发展自己的嵌入式操作系统如Palm OS、Palm WebOS、Windows CE、嵌入式Linux、Symbian、Black Berry OS、µC/OS-II、eCOS、uITRON等嵌入式操作系统。[2] 21世纪第一个十年的后半叶,出现了三大系统:2007年,苹果公司发布了改变人们生活的iPhone和iOS操作系统;随后,2008年,谷歌发布了Andriod操作系统;微软于2010年发布Windows Phone 7系统、2012年发布了Windows Phone 8 系统。这几年里,基于这三大智能系统的智能手机、平板电脑的数量爆发式增长,提高了人们的工作效率和生活舒适度。尤其是平板电脑,使人们对嵌入式设备和电脑界限的划分逐渐模糊。 除了上面的这些操作系统之外,三星、Ubuntu甚至是Firefox等公司都发布了自己的操作系统和手机。三星、Ubuntu等许多公司的系统都是是基于Linux开发而来的,仅有少数是个例外如FirefoxOS,该系统是基于HTML5的,毕竟火狐本身就是一个浏览器厂商。在这场操作系统之争中,如Palm OS、WebOS 、Windows CE、Meego等系统已经淡出了历史的舞台,而Symbian、Black Berry OS则在垂死挣扎。嵌入式Linux和Andriod是开源的系统。开发基于Andriod的系统时,需要向其他厂商如微软、诺基亚、三星等公司缴纳专利授权费用,而基于嵌入式Linux开发的系统就没有这个问题,适合小型厂商和个人的商业开发。 1.2.2 嵌入式Linux和Linux 嵌入式系统和通用计算机系统相比具有如下特点:可裁剪性好、系统内核小、功耗低、可靠性高、实时性好等。嵌入式Linux和Linux应用程序开发没有太大区别,但是,嵌入式Linux系统的开发过程中同纯粹基于Linux环境下的开发流程有着一个本质的不同之处:前者需要在宿主机器上交叉编译、交叉调试,而在目标机上运行被调试程序;而后者都是在通用计算机上进行本机编辑,本机编译、连接、调试、运行的。 UNIX,作为现代操作系统的祖先,从贝尔实验室流传出来。而在UNIX的发展过程中,产生的C语言,是贝尔实验室对科技发展的又一重大贡献。贝尔实验室的母公司——美国电话和电报公司(AT&T),见有利可图,就禁止免费使用UNIX并推出了收费版本UNIX System V 。之后UNIX分化成了许多不同分支和发行版本,最著名就是Free BSD UNIX。 GNU,即GNU’s Not UNIX 。该组织建立与1983年,其目标是创建一套完全免费的、自由的UNIX-like系统。该组织编写出了一个完整操作系统的大部分内容,如编译器、系统管理工具、网络工具、Office套件、多媒体和绘图软件,除了内核。Linux由Linus Trovalds于1991年发明,是1990年后出现的新学派Unix阵营(也包括FreeBSD、NetBSD、OpenBSD和Darwin)的领头羊,代表了整个阵营的设计方向[3]。一个叫Linus的大二学生写出了一个内核,被GNU看中,然后就有了今天的Linux。Linux,最大的特色是开源和免费,遵循着GPL开发者们可以根据自身需要灵活的进行定制化开发,因此也产生了相当多的Linux的发行版本。 1.2.3 ARM的介绍 嵌入式处理器与常见的基X86架构处理器的PC相比,最大的优势是低功耗。此外,嵌入式操作系统是实时操作系统,着眼于调度所有可以使用的资源来完成实时控制任务,而桌面操作系统如UNIX、Linux和Windows都是分时操作系统。 按照处理器内核的体系结构,可以将嵌入式处理器分为:MIPS处理器、ARM处理器、PowerPC处理器、ColdFire/68K处理器等。 智能手机和平板电脑的流行,让“ARM”这一词语频繁出现在人们的视野中,普通人都常常能到报纸、电视上见到这个词。什么事“ARM”?ARM是Advanced RISC Machines (高级精简指令集处理机)的缩写,表示一种知识产权核。同时“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 的 Surface Windows RT,同时也意味着视窗操作系统从Windows8开始可以在ARM平台上运行了。 ARM处理器分为如下几个系列:ARM7、ARM9、ARM9E、ARM10E、ARM11、Cortex-A8、Cortex-A9、Cortex-A15等。 本毕业设计基于三星S3C2440的XC2400开发板,其微处理器为基于ARM9 内核的ARM 920T。 1.2.4 Qt的介绍 Qt是挪威TrollTech公司开发的跨平台C++图形用户界面研发工具。2008年该公司被Nokia收购。2009年Nokia公开了Qt的源代码。2012年,Nokia将Qt售予芬兰软件公司Digia,而Qt仍将保持开源。Digia计划将Qt推广到Andriod、iOS和Windows 8平台。 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)Qt Windows:是指用于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目录下,在桌面会生出Qt Creator快捷方式,打开后进行一些参数的设置之后即可进行程序的开发,例如指定qmake的路径。 1.3 论文所做的工作和结构 1.3.1 论文所做的工作 本毕业设计在Red Hat Enterprise Linux中安装Qt Creator开发工具,实现在嵌入式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、VMware Station及其相关的使用和技巧。 第四章主要是详细MPlayer的编译和移植工作,以及Qt程序的开发和移植工作。 第五章主要是实验结果和毕业设计过程中遇到的一些问题。 第六章是总结与展望,回顾了本次毕业设计及其中的不足之处。 第二章 系统总体方案设计 2.1 系统框架概述 根据嵌入式MP3媒体播放器系统的需求分析,本文选择了基于ARM 9内核的处理器的开发板作为本系统的实现的平台,下文将对其中硬件设备做介绍。软件平台选择嵌入式Linux操作系统。毕业设计中的开发平台是Red Hat Enterprise Linux 6.3操作系统,其是安装在VMware Station 9.0虚拟化平台中的,可以方便的与Windows操作系统进行数据共享和传输。为了搭建整个开发环境,还需要交叉建立交叉编译环境。播放器系统的整体结构由下到上为:应用层(Qt 、MPlayer)、操作系统层(Linux)、驱动层(音频驱动、液晶屏幕驱动等)和物理层(ARM芯片以及外围电路)。 2.2 开发板硬件介绍 本次毕业设计使用XC2440开发板,如图2.1所示:包括 S3C2440处理器、NAND Flash、NOR Flash、SDRAM、串口、下载接口、音频解码芯片和接口、LCD和触摸屏接口、时钟电路、复位电路等。 图2.1 XC2440开发板 2.2.1 主要硬件及其参数 l CPU:主频为400MHz的三星S3C2440A l 内存:64M Bytes SDRAM l 闪存: 256M Bytes Nandflash + 2M Bytes Norflash l 板载复位电路 l 板载电源管理芯片 l 内部 RTC(Real-Time Clock,实时时钟)功能 l 180Pin 管脚以 1.27mm 间距排针形式引出 l 4.3 寸 TFT LCD ,带触摸屏,分辨率 480×272 2.2.2 接口资源 l 1个100M 以太网接口 l 1个RS232 电平串口 l 2个TTL 电平串口 l 1个USB HOST 接口 l 1个USB DEVICE 接口 l 1个LCD 接口 l 1个Camera 接口 l 1个microSD/TF 卡接口 l 2个音频接口,uda1341音频芯片,使用IIS和L3总线,一路立体声输入,一路立体声输出 l 1个温度传感器 l 1个红外接收管 l 2个电位器 l 4个用户 LED l 4个用户按键 l 1个蜂鸣器 l 1个JTAG 接口 l 1个mircoSD/TF 卡接口 l 板载EEPROM l 板载RTC供电电池 2.2.3 NAND和NOR Flash的相关介绍: “NAND”这个名称表示其是由“与非”逻辑门电路构成,而“NOR”则表明其内部有“或非”逻辑门电路构成。从对数据传输速率来看,NAND要比NOR快很多,因为NAND是按页操作的而NOR是按字节操作的。NOR 是和SRAM一样的可随机存储的,也不需要驱动,因此,其受限于地址线,地址就是有限的,所以容量普遍较小;NOR的优点则表现在读取速度快,而且程序可以直接在芯片内部运行,不需要再读入SDRAM中了。再从价格上来看,NOR的价格更高。从实际应用来看,NOR较多的用在工业领域,特别是用于程序存储等少量数据存储的需求;NAND较多使用再在消费领域中,适合大量数据存储。 U-boot程序不支持从Nand flash启动,但是S3C2440支持从Nand flash启动。开发板加电后S3C2440将Nand flash的前4k(保存有U-boot的部分功能)中的内容拷贝到SDRAM。这就需要修改U-boot源码,使得U-boot在得到执行权后能够将其自身拷贝到开发板上SDRAM中,以便处理器能够执行U-boot。幸好这些工作已经由开发板厂商完成了,不需要用户自行开发。 2.2.4 S3C2440的启动方式说明 如果把S3C2440配置成从NAND Flash启动(开发板启动开关拔至NAND端)S3C2440的NAND控制器会自动把NAND flash中的前4K代码数据复制至内部SRAM中(地址为0x40000000),同时还把这块SDRAM的地址映射为0x00000000(CPU总是从0x00000000地址开始运行程序)。 如果将S3C2440配置成从NOR Flash启动(开发板启动开关拔至NOR端),0x00000000就是NOR Flash实际的起始地址,Norflash中的程序就从这里开始运行,不会涉及到数据拷贝和地址映射。 2.3 用于本设计MP3播放器的硬件架构 该MP3播放器系统总体框图如图2.2 所示:包括基于ARM价格的三星 S3C2440处理器,NAND、SDRAM存储器、音频处理模块、LCD和触摸屏接口、复位按键、J-link接口等。 S3C2440 (ARM9) 液晶触摸屏 RJ-45 以太网接口 音频处理模块 NAND FLASH NOR FLASH SDRAM 图2.2 MP3播放器硬件框图 本方案的说明:采用基于ARM S3C2440的开发板。XC2440开发板采用ARM9系列芯片S3C2440作为核心芯片,搭配4.3英寸液晶触摸屏,以及自带音频解码芯片UDA1341,完全胜任MP3文件的解码工作。NOR Flash用来存放着引导程序U-boot;NAND中除了放着U-boot还有系统内核及文件系统,以及歌曲文件;SDRAM用于存放着系统的运行中产生的数据;液晶触摸屏可以让用户进行操作,播放视频时还可以看到视频; 系统采用嵌入式Linux系统,Linux操作系统具有很多优点,如内核可裁剪、高度的可移植性等,支持几乎所有的主流芯片,并且还在不断地被移植至新的芯片上。此外采用开源Linux系统,不需要像其它一些系统那样需要缴纳专利授权费用。 第三章 嵌入式Linux的开发流程 3.1 开发环境的搭建概述 3.1.1 硬件平台 ARM开发板,主机,局域网。 3.1.2 软件平台 (1)操作系统 本次毕业设计使用虚拟化平台VMware Station,并在其中建立虚拟机,进而在该虚拟机之中安装Red Hat Enterprise Linux系统。 (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操作系统,其是安装在VMware Station 9.0这个虚拟化平台中的,可以方便的与Windows操作系统进行数据共享和传输。目前,Windows操作系统中的很多常用软件并不支持在Linux平台上运行,如果直接安装Linux,那么在纯粹的Linux环境中,将会有很多不便。 VMware Workstation 是一款功能强大的提供桌面虚拟化功能的软件,使用户可在单一的桌面上同时运行多个操作系统,是进行开发测试部署新的应用、服务、程序等的最佳解决方案。可在一台真实机器上模拟完整的网络环境,其更佳的灵活性与先进的虚拟化技术胜过了市面上其它厂商的的虚拟化软平台。利用该软件,可以建立许多虚拟机。可以认为虚拟机是运行在同主机操作系统平行的底层硬件环境中的。 快照功能介绍和使用:VMware快照功能是虚拟机磁盘文件(VMDK)在某个时间点的复本。万一某些东西出错了,你可以通过使用恢复到快照来保持磁盘文件系统和系统存储。如果你创建了多于一个的虚拟机快照,那么,你将有多个还原点可以用于恢复。 简单说来,其实VMware快照就是将当前VMware虚拟环境里的系统所有环境做个备份(即照个相),让我们虚拟机里的系统出问题之后可以马上恢复。这个功能就有点类似于我们系统备份功能!但是VMware的快照比系统备份功能更强一些,如硬件及一些设置都可以保存下来。 在开发环境中,使用的是root账号,常常进行一些比较危险的操作,为了避免误操作而是得系统受损坏,或者要撤销之前所做的重大更改等。比如为了安装不同版本的多个交叉编译器,就可以使用该功能。在本次毕业设计中,就使用了几次快照进行还原。建立的快照如图3.1所示。 图3.1 本次毕业设计中建立的快照 3.2.2 RedHat介绍及其在VMware中的安装 Linux是一类Unix计算机操作系统的统称。Linux操作系统内核的名字也是“Linux”。Linux操作系统同时也是自由软件运动中和开放源代码社区发展中最著名的例子。严格地来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 项目中的各种工具和数据库的操作系统。 Red Hat公司创建于1993年,是世界上最资深的Linux和开放源代码提供商,同时由Red Hat 公司发行的Red Hat Linux系统也是最获得市场认可的Linux发行版本。Red Hat Linux是商业上运作最成功的一个Linux发行套件,普及程度很高。Red Hat Linux自9.0之后不再发布个人用户版,从此专注于企业级用户:2004年4月30日,Red Hat公司正式停止对Red Hat Linux 9.0版本的支持,标志着Red Hat Linux的正式完结。原本的桌面版Red Hat Linux发行包则与来自民间的Fedora开源社区合并,成为Fedora Core发行版本。Red Hat公司不再开发桌面版的Linux发行包,而将全部力量集中在企业版的开发上,也就是Red Hat Enterprise Linux(如图3.2所示)版本,但仍然公开源码。 图3.2 RedHat Enterprise Linux 6 安装界面截图 2005年10月Red Hat Enterprise Linux 4.0发布。Fedora是Redhat桌面版本的延续,其是与开源社区合作的。另一个Linux 发行版本CentOS,也是CentOS社区完全使用Red Hat原代码创新编译,仅仅更改LOGO等极少部分。2007年3月,Red Hat Enterprise Linux 5.0发布。2011年11月10日RedHat Enterprise Linux 6.0正式版发布。目前最新版本已经到6.4版本。本次毕业设计使用RedHat Enterprise Linux 6.3版本。 注意点:在安装时需要选择“桌面”,这样开机就有GUI界面了,方便使用。如图3.3 所示 。RedHat Enterprise Linux的详细的安装过程就不在赘述了。 图3.3 选择“桌面”选项 Red Hat Enterprise Linux系统有一个优点,就是方便安装软件:将安装光盘或者镜像文件挂载为本地的“软件源”,这样就以直接搜索一些常用的软件包,搜索到之后可以直接安装,不需要再进行下载了。如果这些包需要再安装一些存在依赖关系的软件,就自动安装了。这是比Ubuntu等Linux发行版本的一个优势,至少可以节约开发人员的时间。本次毕业设中,有几次都在编译时报错,并提示缺少如ncurses libraries、autoconf、g++等软件,使用这个方法可以快速安装这些软件。注意,必须要将操作系统光盘镜像文件改名为“Red Hat Enterprise Linux 6.3” 挂载为“软件源”,这样才能成功。 3.2.3 安装VMware Tools 点击“VM”-“Install VMware Tools” ,会自动下载Vmware Tools 软件(当然前提是正确配置虚拟机的网络,在此就不进行详细的介绍了),作者使用的版本是VMwareTools-9.2.3-1031360.tar.gz VMware Tools是VMware虚拟机中自带的一种增强工具,是VMware提供的增强虚拟显卡和硬盘性能、以及同步虚拟机与主机时钟的驱动程序。只有在VMware虚拟机中安装好了VMware Tools,才能实现主机与虚拟机之间的文件共享,同时可支持自由拖拽的功能,鼠标也可在虚拟机与主机之前自由移动(不用再按Ctrl+Alt),且虚拟机屏幕也可实现全屏化。有时需要将Windows下面的文件和Linux共享起来,这样就可以方便的在Linux下面编译运行代码,然后把编译后的数据通过Windows下的工具传到开发板里面。依次点击VMware Setting - Option - Shared Folders,选择“Always Enabled”,并添加准备共享给虚拟机的文件夹。共享文件后,就可以在RedHat的 /mnt/hgfs/目录下看到共享的文件。 下面讲述如何详细装VMware Tools的过程: (1)点击菜单“VM”选项卡,选择Install vmware tools 这个时候会出来一个可以安装的.gz格式的压缩文件包 (2)cd /media/VMware\ Tools/ 就会看见这个压缩包 (3)tar -zxvf VMwareTools-9.2.3-1031360.tar.gz /tmp/ 将这个压缩包解压到 /tmp 目录下面 (4)cd /tmp/vmware-tools-distrib/ (5) ./vmware-install.pl 这样就进入安装vmware-tools的界面了,在安装的过程中,会出现许多可选功能让用户进行选择,直接按回车键就可以了。 (6)安装完VM Tool之后,再进入/mnt/hgfs/目录下,就可以看到已经共享的文件了。 3.2.4 安装交叉编译器 本次毕业设计所使用的交叉编译器版本是 arm-linux-gcc-4.1.2 ,其源码包为:arm920t-eabi-4.1.2.tar.gz。 安装和验证的步骤如下: (1)使用解压命令:tar zxvf arm920t-eabi-4.1.2.tar.gz -C /opt,将该文件解压到/opt下; (2)接着修改/etc目录下了profile文件来设置环境变量: vi /etc/profile ; 然后向该文件中最后面加入一行: export PATH=/opt/toolchains/arm920t-eabi/bin:$PATH; (3)随后用保存退出。执行命令source /etc/profile ,这样就不需要重新启动计算机就使得上述更改立即生效了。 (4)在控制台输入“arm-linux-gcc -v”,出现图3.4中的信息,最后一行信息表明安装成功。 图3.4 查看安装的arm-linux-gcc相关信息 3.3 Bootloader和U-boot的介绍 启动一个计算机系统的第一步操作是加电,随后引导程序运行,读取硬盘上的内核镜像进而载入RAM,然后才是启动操作系统。Windows系统中的引导程序就是称为BIOS的程序,而在Linux中的引导程序则称为Bootloader。通过这段程序- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 嵌入式 Linux MP3 播放 设计 实现 毕业设计 论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文