收藏 分销(赏)

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

上传人:人****来 文档编号:3673321 上传时间:2024-07-13 格式:DOC 页数:59 大小:1.55MB
下载 相关 举报
基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文.doc_第1页
第1页 / 共59页
基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文.doc_第2页
第2页 / 共59页
基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文.doc_第3页
第3页 / 共59页
基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文.doc_第4页
第4页 / 共59页
基于嵌入式Linux的MP3播放器的设计与实现毕业设计论文.doc_第5页
第5页 / 共59页
点击查看更多>>
资源描述

1、Design and Implementation for a MP3 Player Based on Embeded LinuxA Dissertation Submitted toNanjing Institute of TechnologyFor the Academic Degree of Bachelor of ScienceByMinXian ZhengSupervised byLecturer AiJun Sha KangNi College Nanjing Institute of TechnologyJun 2013摘 要伴随嵌入式系统的持续发展以及普通用户对多媒体应用越来越

2、旺盛的需求,具有多媒体播放功能设备逐渐成为嵌入式系统中必不可少的重要功能。此毕业设计将设计一个基于嵌入式Linux的MP3播放器,系统硬件采用基于ARM架构的开发板。论文首先介绍了嵌入式操作系统的最新发展、嵌入式Linux、ARM的特点以及Qt等的相关知识。重点介绍了如何使用开源播放器MPlayer、解码库libmad、Qt Creator工具来开发一个有图形界面的MP3播放器。还介绍了如何移植U-boot、Linux内核、Qt和文件系统,并在移植好之后烧写到开发板之上,得到一个能独立运行在开发板上的MP3播放器。系统测试表明,该MP3播放器能实现如下功能:“播放”、“暂停”、“停止”、“音量

3、调节”、“退出程序”和“歌曲播放时间”,系统运行稳定,基本达到了设计要求。关键词:嵌入式Linux;移植;Linux ;QtAbstract 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 intr

4、oduce 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

5、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 devel

6、opment 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: embed

7、ed Linux;transplant;Linux;Qt目 录第一章 绪 论11.1 课题研究背景和意义11.2 嵌入式系统发展和现状21.2.1 嵌入式操作系统21.2.2 嵌入式Linux和Linux31.2.3 ARM的介绍31.2.4 Qt的介绍41.3 论文所做的工作和结构51.3.1 论文所做的工作51.3.2 论文结构6第二章 系统总体方案设计72.1 系统框架概述72.2 开发板硬件介绍72.2.1 主要硬件及其参数82.2.2 接口资源82.2.3 NAND和NOR Flash的相关介绍:92.2.4 S3C2440的启动方式说明102.3 用于本设计MP3播放器的硬件架构1

8、0第三章 嵌入式Linux的开发流程123.1 开发环境的搭建概述123.1.1 硬件平台123.1.2 软件平台123.2 安装软件平台和搭建开发环境的步骤123.2.1 虚拟化平台的介绍与安装133.2.2 RedHat介绍及其在VMware中的安装143.2.3 安装VMware Tools163.2.4 安装交叉编译器173.3 Bootloader和U-boot的介绍183.3.1 烧写U-boot193.3.2 向NAND Flash烧写U-boot213.4 使用FTP下载工具23第四章 系统详细设计244.1 关于移植的原理和介绍244.2 U-boot、内核和文件系统的移植。

9、244.3 开源播放软件MPlayer的安装和移植254.3.1 在X86平台上安装MPlayer254.3.2 向ARM平台移植MPlayer264.4 设计基于Qt/E的播放器图形304.4.1 Qt的实现原理和优势304.4.2利用Qt Creator 开发应用程序流程324.4.3 程序模块间关系图334.4.4 程序的编写和实现334.4.5 关键代码分析354.4.5 编译和运行41第五章 系统调试和解决435.1 系统调试及运行435.2 本次毕业设计中遇到的问题和解决44第六章 总结与展望46参考文献47致谢48附录 A 源代码49附录A.1 main.cpp49附录A.2 m

10、player.h49附录A.3 mplayer.cpp50第一章 绪 论1.1 课题研究背景和意义 随着社会的日益信息化,计算机和网络已经全面渗透到日常生活的每一个角落。对于我们每个人来说,需要的已经不再仅仅是那种放在桌上处理文档、进行工作管理和生产控制的计算机机器。任何一个普通人都可能拥有各种使用嵌入式技术的电子产品。如今,各种新式嵌入式设备从数量来说已经完胜常规计算机了。尤其在工业中,几十年来,具有嵌入式技术的数控机床、工业智能机器人、智能设备、服务型机器人一直都对传统的工业生产方式不断改善和提高着。 Moving Picture Experts Group Audio Layer III

11、(MPEG-1 Audio Layer 3,动态影像专家压缩标准音频层面3),经常称为MP3,是当今相当流行的一种数字音频编码和有损压缩格式,它被设计来大幅降低音频数据量,而对于大多数用户的人体自身听觉感受来说,重放的音质与最初的不压缩音频相比并没有极其明显的下降。 MP3播放器是嵌入式系统的主要应用之一,高端的MP3已经不仅仅着眼于音乐播放这一功能,而是同时具备了图片浏览、文本阅读、甚至视频播放等强大功能。本文重点讨论基于S3C2440芯片的MP3播放器的实现,还包括开发环境建立、内核裁剪与编译、Qt开发等一系列过程。 像以前需要两块甚至多块芯片才能处理的数据,现在基本上可以通过单块ARM芯

12、片完成,不仅仅降低系统成本,同时也简化了系统的设计过程。而且嵌入式Linux操作系统的出现,使得应用软件的开发也变得相对简单,此外Linux天生的多平台兼容性,使其移植到ARM平台相对简单,再加上其可裁剪的优点,使得嵌入式Linux成为当前嵌入式开发的主流系统。 所以课题选择基于嵌入式Linux的MP3播放器的设计与实现,具有一定的现实意义。同时,毕业设计也是将大学所学知识的一次综合运用,也会使得在文献检索、查阅资料、科学研究素养和文档写作等方面的能力得到进一步提高。1.2 嵌入式系统发展和现状1.2.1 嵌入式操作系统 英国电机工程师协会BIEE(Britain Institute of E

13、letrical Engineers)对嵌入式系统的定义是:嵌入式系统为控制、监视或辅助设备、机器甚至工厂运作的装置1。从20世纪80年代开始,在嵌入式系统出现了“操作系统”概念,这使得开发人员可以进一步缩短开发周期,降低开发成本并提高开发效率。例如著名的VxWorks,该系统如今被华为、H3C、中兴等众多网络设备和通信设备厂商所采用。而思科采用了基于UNIX开发而来的“网际互联操作系统”(Internet Operation System ,缩写为IOS);另一家网络设备厂商Juniper所使用的JunOS系统直接运行于Free BSD内核之上,和内核联系紧密。20世纪90年代之后,随着对实

14、时性要求的提高、软件规模不断增加,逐渐发展出实时多任务操作系统,并作为一种软件平台逐步成为目前嵌入式操作系统的主流。许多大公司看到了嵌入式系统的无限美好的发展前景,开始大力发展自己的嵌入式操作系统如Palm OS、Palm WebOS、Windows CE、嵌入式Linux、Symbian、Black Berry OS、C/OS-II、eCOS、uITRON等嵌入式操作系统。221世纪第一个十年的后半叶,出现了三大系统:2007年,苹果公司发布了改变人们生活的iPhone和iOS操作系统;随后,2008年,谷歌发布了Andriod操作系统;微软于2010年发布Windows Phone 7系统

15、、2012年发布了Windows Phone 8 系统。这几年里,基于这三大智能系统的智能手机、平板电脑的数量爆发式增长,提高了人们的工作效率和生活舒适度。尤其是平板电脑,使人们对嵌入式设备和电脑界限的划分逐渐模糊。除了上面的这些操作系统之外,三星、Ubuntu甚至是Firefox等公司都发布了自己的操作系统和手机。三星、Ubuntu等许多公司的系统都是是基于Linux开发而来的,仅有少数是个例外如FirefoxOS,该系统是基于HTML5的,毕竟火狐本身就是一个浏览器厂商。在这场操作系统之争中,如Palm OS、WebOS 、Windows CE、Meego等系统已经淡出了历史的舞台,而Sy

16、mbian、Black Berry OS则在垂死挣扎。嵌入式Linux和Andriod是开源的系统。开发基于Andriod的系统时,需要向其他厂商如微软、诺基亚、三星等公司缴纳专利授权费用,而基于嵌入式Linux开发的系统就没有这个问题,适合小型厂商和个人的商业开发。1.2.2 嵌入式Linux和Linux 嵌入式系统和通用计算机系统相比具有如下特点:可裁剪性好、系统内核小、功耗低、可靠性高、实时性好等。嵌入式Linux和Linux应用程序开发没有太大区别,但是,嵌入式Linux系统的开发过程中同纯粹基于Linux环境下的开发流程有着一个本质的不同之处:前者需要在宿主机器上交叉编译、交叉调试,

17、而在目标机上运行被调试程序;而后者都是在通用计算机上进行本机编辑,本机编译、连接、调试、运行的。 UNIX,作为现代操作系统的祖先,从贝尔实验室流传出来。而在UNIX的发展过程中,产生的C语言,是贝尔实验室对科技发展的又一重大贡献。贝尔实验室的母公司美国电话和电报公司(AT&T),见有利可图,就禁止免费使用UNIX并推出了收费版本UNIX System V 。之后UNIX分化成了许多不同分支和发行版本,最著名就是Free BSD UNIX。 GNU,即GNUs Not UNIX 。该组织建立与1983年,其目标是创建一套完全免费的、自由的UNIX-like系统。该组织编写出了一个完整操作系统的

18、大部分内容,如编译器、系统管理工具、网络工具、Office套件、多媒体和绘图软件,除了内核。Linux由Linus Trovalds于1991年发明,是1990年后出现的新学派Unix阵营(也包括FreeBSD、NetBSD、OpenBSD和Darwin)的领头羊,代表了整个阵营的设计方向3。一个叫Linus的大二学生写出了一个内核,被GNU看中,然后就有了今天的Linux。Linux,最大的特色是开源和免费,遵循着GPL开发者们可以根据自身需要灵活的进行定制化开发,因此也产生了相当多的Linux的发行版本。1.2.3 ARM的介绍 嵌入式处理器与常见的基X86架构处理器的PC相比,最大的优势

19、是低功耗。此外,嵌入式操作系统是实时操作系统,着眼于调度所有可以使用的资源来完成实时控制任务,而桌面操作系统如UNIX、Linux和Windows都是分时操作系统。 按照处理器内核的体系结构,可以将嵌入式处理器分为:MIPS处理器、ARM处理器、PowerPC处理器、ColdFire/68K处理器等。 智能手机和平板电脑的流行,让“ARM”这一词语频繁出现在人们的视野中,普通人都常常能到报纸、电视上见到这个词。什么事“ARM”?ARM是Advanced RISC Machines (高级精简指令集处理机)的缩写,表示一种知识产权核。同时“ARM”也是一家公司的名称,ARM这家公司于1991年成

20、立于英国剑桥,该公司的特点是只设计基于ARM架构的处理器内核,再将该产品及相关专利授权给其他半导体厂商、软件厂商和OEM厂商公司使用或生产,包括Intel、Apple、微软、三星、高通、索尼等4,ARM公司本身没有任何工厂。 英特尔当前是全球PC处理器的主导者,市场份额超过了80%。但2012年全球PC市场在过去的10年间首次出现下滑,而ARM的份额逐年稳步增长。ARM公司与2012年十月发布的Cortex-A50核心,面向服务器领域,此番旨在同Intel争夺其基于X86体系的服务器市场。几乎在同时,AMD宣布基于此核心来开发64位ARM架构的处理器,这使得AMD 成为业界中不仅唯一一家具有独

21、立制造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+图形用户界

22、面研发工具。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

23、的版本比较多,对于初学者容易搞混。现分别介绍: (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。其是专门

24、用于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开发工具,实现在嵌入式L

25、inux下的MP3播放器。能通过图形界面控制播放和暂停、快进快退、上下曲、音量增减、显示歌曲状态信息等功能。 本课题的主要研究内容包括:(1)了解一个嵌入式Linux系统的开发流程;(2)开发平台的搭建:包括交叉编译环境的建立、环境变量的配置等;(3)掌握Linux内核的移植、开源MP3音乐播放器的移植、用Qt开发的程序及其移植;(1)了解Bootloader的功能和作用;(2)掌握嵌入式Linux的程序开发,以及编译、调试方法和步骤。 需要解决的关键性问题:(1)熟悉嵌入式Linux和其开发流程中涉及的的裁剪和移植;(2)开源播放器MPlayer的移植和播放测试;(3)用Qt实现对播放器的图

26、形界面的开发,并实现相应的功能。1.3.2 论文结构 本论文共分六章: 论文的第一章,是绪论部分。主要是对课题的研究目的及意义,课题现状以及作者所做的工作进行简略的介绍;对嵌入式操作系统进行梳理和介绍和以比较;介绍ARM体系的基本发展和特性;对Qt进行基本的介绍。 第二章主要介绍了本系统的硬件平台。首先是对系统的整体架构进行了介绍;对系统的硬件电路和功能模块进行了介绍。 第三章主要是搭建嵌入式开发平台 。介绍RedHat、VMware Station及其相关的使用和技巧。 第四章主要是详细MPlayer的编译和移植工作,以及Qt程序的开发和移植工作。 第五章主要是实验结果和毕业设计过程中遇到的

27、一些问题。 第六章是总结与展望,回顾了本次毕业设计及其中的不足之处。第二章 系统总体方案设计2.1 系统框架概述 根据嵌入式MP3媒体播放器系统的需求分析,本文选择了基于ARM 9内核的处理器的开发板作为本系统的实现的平台,下文将对其中硬件设备做介绍。软件平台选择嵌入式Linux操作系统。毕业设计中的开发平台是Red Hat Enterprise Linux 6.3操作系统,其是安装在VMware Station 9.0虚拟化平台中的,可以方便的与Windows操作系统进行数据共享和传输。为了搭建整个开发环境,还需要交叉建立交叉编译环境。播放器系统的整体结构由下到上为:应用层(Qt 、MPla

28、yer)、操作系统层(Linux)、驱动层(音频驱动、液晶屏幕驱动等)和物理层(ARM芯片以及外围电路)。2.2 开发板硬件介绍 本次毕业设计使用XC2440开发板,如图2.1所示:包括 S3C2440处理器、NAND Flash、NOR Flash、SDRAM、串口、下载接口、音频解码芯片和接口、LCD和触摸屏接口、时钟电路、复位电路等。图2.1 XC2440开发板2.2.1 主要硬件及其参数l CPU:主频为400MHz的三星S3C2440Al 内存:64M Bytes SDRAMl 闪存: 256M Bytes Nandflash + 2M Bytes Norflashl 板载复位电路l

29、 板载电源管理芯片l 内部 RTC(Real-Time Clock,实时时钟)功能l 180Pin 管脚以 1.27mm 间距排针形式引出l 4.3 寸 TFT LCD ,带触摸屏,分辨率 4802722.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

30、个用户 LEDl 4个用户按键l 1个蜂鸣器l 1个JTAG 接口l 1个mircoSD/TF 卡接口l 板载EEPROMl 板载RTC供电电池2.2.3 NAND和NOR Flash的相关介绍: “NAND”这个名称表示其是由“与非”逻辑门电路构成,而“NOR”则表明其内部有“或非”逻辑门电路构成。从对数据传输速率来看,NAND要比NOR快很多,因为NAND是按页操作的而NOR是按字节操作的。NOR 是和SRAM一样的可随机存储的,也不需要驱动,因此,其受限于地址线,地址就是有限的,所以容量普遍较小;NOR的优点则表现在读取速度快,而且程序可以直接在芯片内部运行,不需要再读入SDRAM中了。

31、再从价格上来看,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的启

32、动方式说明 如果把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播放

33、器系统总体框图如图2.2 所示:包括基于ARM价格的三星 S3C2440处理器,NAND、SDRAM存储器、音频处理模块、LCD和触摸屏接口、复位按键、J-link接口等。S3C2440 (ARM9)液晶触摸屏RJ-45以太网接口音频处理模块NAND FLASHNOR FLASHSDRAM图2.2 MP3播放器硬件框图本方案的说明:采用基于ARM S3C2440的开发板。XC2440开发板采用ARM9系列芯片S3C2440作为核心芯片,搭配4.3英寸液晶触摸屏,以及自带音频解码芯片UDA1341,完全胜任MP3文件的解码工作。NOR Flash用来存放着引导程序U-boot;NAND中除了放着

34、U-boot还有系统内核及文件系统,以及歌曲文件;SDRAM用于存放着系统的运行中产生的数据;液晶触摸屏可以让用户进行操作,播放视频时还可以看到视频; 系统采用嵌入式Linux系统,Linux操作系统具有很多优点,如内核可裁剪、高度的可移植性等,支持几乎所有的主流芯片,并且还在不断地被移植至新的芯片上。此外采用开源Linux系统,不需要像其它一些系统那样需要缴纳专利授权费用。第三章 嵌入式Linux的开发流程3.1 开发环境的搭建概述3.1.1 硬件平台 ARM开发板,主机,局域网。3.1.2 软件平台(1)操作系统 本次毕业设计使用虚拟化平台VMware Station,并在其中建立虚拟机,

35、进而在该虚拟机之中安装Red Hat Enterprise Linux系统。(2)交叉编译环境 交叉编译是指:在PC机上编译,在目标板上直接可以执行,不需要重新在目标平台上面进行编译了。交叉编译环境主要包括:目标板操作系统、目标板CPU体系架构、编译器等。目标板操作系统:经过裁剪的Linux系统。目标板使用的CPU:基于ARM9架构的ARM920t内核。编译器:gcc,arm-linux-gcc、makefile工具、库函数等。3. 主机和开发板之间的通信接口串口:用串口控制板子。可用DNW软件设置好要控制的串口、波特率。使用串口线也可以传输文件至开发板,但是速率较慢。USB下载线:可以使用D

36、NW软件下载U-boot、系统内核、文件系统镜像文件到开发板,传输速率较快。RJ-45以太网接口:设置好开发板、PC网卡的IP地址后,可以用NFS挂载的方式来共享主机需要下载到开发板上编译好的代码,也可以使用FTP、TFTP工具来传输文件,这样速率非常快,并且很方便使用。在配置好网络后,就可以用Telnet客户端控制开发板,这样就可以免去频繁的切换目录了。3.2 安装软件平台和搭建开发环境的步骤3.2.1 虚拟化平台的介绍与安装 毕业设计中的开发平台是Linux操作系统,其是安装在VMware Station 9.0这个虚拟化平台中的,可以方便的与Windows操作系统进行数据共享和传输。目前

37、,Windows操作系统中的很多常用软件并不支持在Linux平台上运行,如果直接安装Linux,那么在纯粹的Linux环境中,将会有很多不便。 VMware Workstation 是一款功能强大的提供桌面虚拟化功能的软件,使用户可在单一的桌面上同时运行多个操作系统,是进行开发测试部署新的应用、服务、程序等的最佳解决方案。可在一台真实机器上模拟完整的网络环境,其更佳的灵活性与先进的虚拟化技术胜过了市面上其它厂商的的虚拟化软平台。利用该软件,可以建立许多虚拟机。可以认为虚拟机是运行在同主机操作系统平行的底层硬件环境中的。 快照功能介绍和使用:VMware快照功能是虚拟机磁盘文件(VMDK)在某个

38、时间点的复本。万一某些东西出错了,你可以通过使用恢复到快照来保持磁盘文件系统和系统存储。如果你创建了多于一个的虚拟机快照,那么,你将有多个还原点可以用于恢复。简单说来,其实VMware快照就是将当前VMware虚拟环境里的系统所有环境做个备份(即照个相),让我们虚拟机里的系统出问题之后可以马上恢复。这个功能就有点类似于我们系统备份功能!但是VMware的快照比系统备份功能更强一些,如硬件及一些设置都可以保存下来。在开发环境中,使用的是root账号,常常进行一些比较危险的操作,为了避免误操作而是得系统受损坏,或者要撤销之前所做的重大更改等。比如为了安装不同版本的多个交叉编译器,就可以使用该功能。

39、在本次毕业设计中,就使用了几次快照进行还原。建立的快照如图3.1所示。图3.1 本次毕业设计中建立的快照3.2.2 RedHat介绍及其在VMware中的安装 Linux是一类Unix计算机操作系统的统称。Linux操作系统内核的名字也是“Linux”。Linux操作系统同时也是自由软件运动中和开放源代码社区发展中最著名的例子。严格地来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 项目中的各种工具和数据库的操作系统。 Red Hat公司创建于1993年,是世界上最资深的Linux和开放源代码提供商,同时由Red

40、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发行包,而将全部力量集中在企业版的开发上,也

41、就是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正式版发

42、布。目前最新版本已经到6.4版本。本次毕业设计使用RedHat Enterprise Linux 6.3版本。 注意点:在安装时需要选择“桌面”,这样开机就有GUI界面了,方便使用。如图3.3 所示 。RedHat Enterprise Linux的详细的安装过程就不在赘述了。图3.3 选择“桌面”选项 Red Hat Enterprise Linux系统有一个优点,就是方便安装软件:将安装光盘或者镜像文件挂载为本地的“软件源”,这样就以直接搜索一些常用的软件包,搜索到之后可以直接安装,不需要再进行下载了。如果这些包需要再安装一些存在依赖关系的软件,就自动安装了。这是比Ubuntu等Linux

43、发行版本的一个优势,至少可以节约开发人员的时间。本次毕业设中,有几次都在编译时报错,并提示缺少如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-103136

44、0.tar.gz VMware Tools是VMware虚拟机中自带的一种增强工具,是VMware提供的增强虚拟显卡和硬盘性能、以及同步虚拟机与主机时钟的驱动程序。只有在VMware虚拟机中安装好了VMware Tools,才能实现主机与虚拟机之间的文件共享,同时可支持自由拖拽的功能,鼠标也可在虚拟机与主机之前自由移动(不用再按Ctrl+Alt),且虚拟机屏幕也可实现全屏化。有时需要将Windows下面的文件和Linux共享起来,这样就可以方便的在Linux下面编译运行代码,然后把编译后的数据通过Windows下的工具传到开发板里面。依次点击VMware Setting - Option -

45、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-

46、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,将该文件解压到

47、/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。通过这段程序

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服