基于嵌入式娱乐系统开发与实现毕业论文.doc

上传人:仙人指路1688 文档编号:3940557 上传时间:2023-03-28 格式:DOC 页数:39 大小:2.21MB
返回 下载 相关 举报
基于嵌入式娱乐系统开发与实现毕业论文.doc_第1页
第1页 / 共39页
基于嵌入式娱乐系统开发与实现毕业论文.doc_第2页
第2页 / 共39页
基于嵌入式娱乐系统开发与实现毕业论文.doc_第3页
第3页 / 共39页
基于嵌入式娱乐系统开发与实现毕业论文.doc_第4页
第4页 / 共39页
基于嵌入式娱乐系统开发与实现毕业论文.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《基于嵌入式娱乐系统开发与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于嵌入式娱乐系统开发与实现毕业论文.doc(39页珍藏版)》请在三一办公上搜索。

1、 王凡 计算机科学与技术 二O一三年四月 韩改宁 理学 基于嵌入式娱乐系统开发与实现 Based on the Embedded System Design and Implementation of Enterainment 题 目 0910014103 成绩评定专业名称提交论文日期学科门类指导教师作者姓名本科毕业设计(论文)分类号 TP311 学校代码 10722 密级学号 公开 435 1 10710014142 摘 要近年来,随着微处理器技术和多媒体编码技术以及嵌入式技术的不断发展,多媒体娱乐系统终端已经很快发展为电子产品的热点,并且,逐渐成熟的市场随着MP4、MP5在市场上取得的很大

2、成功,以及数字电视、3G通讯等相关技术的起步,在接下来的几年都会得到快速发展。嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。本设计基于ARM9的S3C2410处理器为核心,采用LCD显示、视频、音频播放等技术做成的娱乐系统,并通过嵌入式Linux操作系统进行任务的控制,利用USB2.0接口鼠标或者触摸屏操作界面,实现了音频和视频的播放功能以及图片浏览器和五子棋游戏。对于本系统,以娱乐性为主的平台,在当下市场,可以用在汽车、飞机、以及个人手持设备上使用等。本系统中还有需要研究的方向为,可以通过因特网连接,直接在线

3、观看视频以及分享音乐,同时可以上网聊天,这些都是在以后需要更进一步研究。关键字:娱乐系统;视频;Linux;S3C2410 ;QTAbstractFor the past few years, with the development of microprocessor,DSP, multimedia coding and the flushbonading technology,multimedia entertainment terminal has becomea hotspot of the consumer electronics. Whats more, The market of

4、 consumer electronics more and more mature with the great prosperity of theMP4 and MP5 have a great achieve.Addition, digital tv and 3G communication will havea great development. The embedded system is special purpose computer system that approach to the user centered design, based on the computer

5、technique, provide elastic software and hardware resources, most important, it is suit for the applications that have exact demands on functionality, reliability, costing and consumption.The system is based on the core of ARM9- S3C2410 microprocess, andwith the control of flushbonading Real-Time Lin

6、ux Operating System, use USB2.0 interfaces, LCD and multi-touch Display GUI. Consist of multimedia presentation, Image Viewer and FIVE-CHESS game.Thesystemisaplatformthatgivesfirstplacetoentertainment.Currentresearchonmarketaccounting, thesystemthatusedinautomobiles,aircraft,andpersonalhandhelddevic

7、es.ThereisalsoneedtoresearchthedirectionofthesystemiswatchthevideoviaanInternetconnection,directonlineandsharemusic,whilechattingontheInternet.Theseareinthefutureneedtobefurtherstudied. Keywords:Entertainment System;Video player;Linux;S3C2410;QT目 录第一章绪 论11.1 嵌入式娱乐系统11.2 嵌入式操作系统及嵌入式软件开发11.2.1当前流行的嵌入式

8、操作系统11.2.2嵌入式系统下软件开发2第二章 嵌入式娱乐系统设计方案32.1 嵌入式系统32.1.1嵌入式系统体系结构32.1.2嵌入式系统的组成32.1.3嵌入式系统的设计过程32.2 系统硬件平台42.2.1处理器的选择42.2.2显示模块的选择52.2.3触摸屏的选择62.2.4 USB接口的选择72.3 系统软件平台72.3.1嵌入式操作系统的选择72.3.2嵌入式Linux系统的配置72.3.3 Qt开发平台82.4 嵌入式娱乐系统最终方案8第三章 嵌入式开发环境搭建103.1系统硬件平台搭建103.1.1系统运行硬件平台103.1.2系统内核配置103.1.3文件系统制作123

9、.1.4 U_Boot移植143.1.5内核及文件系统移153.1.6 运行环境配置163.2 系统软件平台搭建183.2.1虚拟机及Linux操作系统安装183.2.2软件开发环境配置18第四章嵌入式娱乐系统的设计与实现194.1 嵌入式娱乐系统功能模块194.2 视频播放器的实现194.2.1视频播放器界面实现194.2.2视频播放器Mplayer实现194.2.3视频播放器实现界面204.3 音频播放器的实现204.3.1 音频播放器界面设计214.3.2 音频播放器Phonon框架的实现214.3.3 音频播放器实现界面224.4 图片浏览器的实现234.4.1图片浏览器显示界面设计2

10、34.4.2图片浏览器控制设计234.4.3图片浏览器实现界面244.5 五子棋游戏的实现254.5.1五子棋界面设计254.5.2五子棋控制设计264.5.3五子棋中用到的算法实现264.5.4实现界面28第五章 应用层软件移植及测试295.1 应用软件移植295.2 测试应用软件29结论31谢 辞32参考文献33第一章 绪 论1.1 嵌入式娱乐系统嵌入式娱乐系统包括很多的模块,提供非常丰富的界面供用户使用。其中包括视频播放器、音频播放器、附件、导航、小游戏、互联网等内容,可以很好的为用户使用。可以在很多的场合使用,现在的汽车、轮船、飞机等交通工具以及军事上都有使用,在现实生活中,也已经非常

11、的普及。视频播放和音频播放已经在日常生活中非常流行,本系统中的音频播放器用了QT提供的Phonon多媒体库,可以在不同的平台使用调用底层的API,实现开发者想要的功能,视频播放器是调用的Mplayer播放器开发,完成整个系统的设计。1.2 嵌入式操作系统及嵌入式软件开发1.2.1当前流行的嵌入式操作系统嵌入式系统经过了30多年的发展主要经历了4个阶段。第一阶段是以单芯片为核心的可编程控制器形式的系统。第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。其主要特点是:CPU种类繁多,通用性比较弱;系统开销小,效率高; 第三阶段是以嵌入式操作系统为标志的嵌入式系统。操作系统运行速度快

12、、镜像小,同时系统有具有良好的可扩展性和模块化结构;该系统具备文件和目录管理、支持多任务、支持网络应用、具备图形窗口和用户界面;系统为应用程序提供了大量的接口,因此,开发应用程序较简单;嵌入式应用软件丰富。第四阶段是以Internet组合的嵌入式系统。经过这些年的发展,其中主流的嵌入式操作系统有WindowsCE, PalmOS. Embedded Linux, VxWorks, pSOS等。这些操作系统各具其特点,例如:目前有很多嵌入式Linux操作系统正迅速发展,嵌入式Linux操作系统的迅速崛起,主要是由于人们对自由开放软件的需求与嵌入式系统应用的特制性,要求提供系统源代码层次上的支持,

13、而嵌入式Linux正好能够适应这一需求,具有开放的源代码,系统内核小、效率高、内核网 络结构完整等特点,但由于Linux操作系统本身是模仿Unix操作系统的,因此,它本质上仍属于弱实时操作系统,所以,这类操作系统很适于如信息家电等嵌入式系统的开发1。通过对比分析,我们一般在开发中需要用到开源的系统来进行开发。但是,自由开发的嵌入式操作系统也能够很好的为一般用户开发所用。因此,本论文运用嵌入式Linux操作系统,利用中断技术,触摸屏技术,多媒体流处理技术等开发面向嵌入式图形系统的应用、具有一定任务调度、并发管理功能的系统软件。1.2.2嵌入式系统下软件开发与普通的计算机应用相比,嵌入式系统具有高

14、速处理、配置专一、结构紧凑和坚固可靠等特点的实时操作系统,相对应的软件系统也是一种具有这种特色、要求更高的实时应用软件。这种嵌入式实时软件的主要特征如下:1应用速度快并且稳定:对外部事件调用做出响应的时间必须是实时且确定的,并且是可重复实现的,“延误本身就是影响速度”,这是实时操作系统不同于一般系统的根本特征。不管当时系统内部状态如何,它的响应却是可预测的。2处理异步并发事件的能力:在实际应用环境中,外部事件不可能单独出现,而且发生的时机也是很随机的,不会再确定的时间内发生,其时间不可确定,即异步的,在这种情况下,就完全体现出异步处理能力。3自动处理异常并且快速启动:实时系统对软件的可靠性要求

15、很高,一旦控制上出现失误就可能造成整个系统的崩溃。机动性强、环境复杂的智能系统对于高可靠性极其重要。4具有静态或动态重构以及扩充能力:某个产品其使用环境性能或组成发生改变时,软件系统必须能够很快的适应这种需求。5操作系统与应用程序结合为一体化软件。在嵌入式应用领域中,软件系统可以是顺序程序,也可使用多任务机制。多任务机制与控制循环方法有着本质的区别。首先,控制循环是同步的,按照步骤进行,不可抢先;而多任务机制是异步的,它们并发执行而且可被抢先。其次,控制循环是静态的,而多任务机制是动态的,任务切换完全是事件驱动。第二章 嵌入式娱乐系统设计方案2.1 嵌入式系统2.1.1嵌入式系统体系结构一般而

16、言,嵌入式系统的体系结构可以分为四个部分(1)嵌入式处理器;(2)外围设备;(3)嵌入式操作系统;(4)嵌入式应用软件,如下图2.1所示。 图2.1 嵌入式系统的体系结构2.1.2嵌入式系统的组成嵌入式系统硬件和软件两大部分组成。1.嵌入式系统的硬件结硬件部分主要包括嵌入式处理器、接口和外围设备。(1)嵌入式微处理器介绍 可扩展的结构。 功耗低。2.嵌入式系统的软件结构介绍嵌入式系统的软件可分为设备驱动接口(DDI.D eviceD irverIn terface),实时操作系统(RTOS. Real Time Operation System)、可编程应用接口(API.Application

17、 Programmable Interface)和应用软件四个层次3。2.1.3嵌入式系统的设计过程按照常规的工程设计方法,嵌入式系统的设计可以分为3个阶段:分析、设计和实现。在分析阶段结束后,开发者通常需要面临的一个棘手问题就是硬件平台和软件平台的选择和配置,因为它的好坏直接影响着实现阶段的任务完成。下面的章节中,将主要介绍本系统硬件和软件平台的选择。2.2 系统硬件平台2.2.1处理器的选择1.ARM处理器的选择ARM处理器具有高性能、低功耗、低成本等显著优点,已成为高性能、低功耗嵌入式微处理器的代名词,是目前32位、64位嵌入式微处理器中应用最为广泛的一个系列。鉴于ARM微处理器的众多优

18、点,ARM微处理器必然会得到更加广泛的重视和应用在目前市场。但是,由于ARM微处理器有多达十几种的内核结构,几十个芯片生产厂家,况且其内部的功能配置多样化,所以,对ARM芯片做一些对比研究是十分必要的。下面从应用的角度出发,对在选择ARM微处理器时所应考虑的主要问题如下。 ARM微处理器系列包括:ARM系列、ARM9系列、ARM9E系列、ARM11系列、ARMIOE系列、SecurCore系列、Inter的Xscale, Inter的StrongARM,这些处理器除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有它自己的特点和应用的领域。主要采用ARM9微处理器系列,ARM9

19、系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点: 5级整数流水线,指令执行效率更高。 提供1.1M IPS/MIIZ的哈佛结构。 支持32位ARM指令集和16位Thumb指令集。 支持32位的高速AMBA总线接口。 全性能的MMU,支持VxWorks,WindowsCE,Linux,PalmOS等多种主流嵌入式操作系统。 MPU支持实时操作系统。 支持数据Cache和指令Cache,具有更高的指令和数据处理能力4。2.ARM9开发板在确定ARM处理器的选型之后,最终选定了博创创科技有限公司的经典ARM9开发板UP-TECH2410。UP-TECH2410系统的核心是三星公司的

20、32位ARM920T处理器S3C2410, UP-TECH2410采用核心板和扩展板相分离的结构设计模式,突出的是ARM9系列产品的显示功能,通过外接LCD转接卡接液晶显示模块,非常适合本设计应用5。开发板构成如下图2.2所示。图2.2 开发板构成图2.2.2显示模块的选择S3C2410处理器内置LCD 控制器,一块LCD 屏显示图像,同时具有LCD 驱动器和相应的LCD 控制器。一般情况下,LCD 驱动器会以COF/COG 的形式与LCD 玻璃基板制做在一起,而LCD 控制器则有外部电路来实现。本系统开发采用TFT 320*240, S3C2410 LCD TFT屏控制器的特性: 图是S3C

21、2410 内部的LCD 控制器的逻辑示意图:图2.3 LCD 控制器内部结构REGBANK 是LCD 控制器的寄存器组,用来对LCD 控制器的各项参数进行设置。而 LCDCDMA 则是LCD 控制器专用的DMA 信道,负责将视频资料从系统总线(System Bus)上取来,通过 VIDPRCS 从VD23:0发送给LCD 屏。同时TIMEGEN和 LPC3600 负责产生 LCD 屏所需要的控制时序,例如VSYNC、HSYNC、VCLK、VDEN,然后从 VIDEO MUX 送给LCD屏。图2.4 LCD 控制器芯片引脚图在本设计研究的嵌入式娱乐系统包括各类图形的显示,同时涉及到绘图以及图形显

22、示。本课题将所有的信息显示集合在一个屏幕上,并以分界面的方法显示,这样将使驾驶员查看信息非常便利6。本系统采用开发板上自带的TFT型4.3寸LCD显示屏。2.2.3触摸屏的选择目前市场上,已经很流行触摸屏技术,很多的电子产品都涉及到了触摸屏,当然,可以很好的给用户体验的感觉。对于触摸屏,其实就是用手或者一些其他的物体去触摸显示屏,这样所触摸的位置由触摸器检测,并通过接口(如RS-232串行口)送到主机。其主要功能是传达指示信息。触摸屏的(X,Y)坐标与LCD屏上的(x,y)坐标通过每种映射关系,将信息传达。这样一旦触摸屏被触摸,便可在LCD屏上显示出所要的信息。按感测触摸器的触控方式及坐标传回

23、的功能,触摸屏可分为电阻式、电容式、红外线式和表面声波式多种。实际电路中触摸屏的4线即与控制器ADS7843的4个接口(X+ ,X- ,Y+,Y-)相连。如图所示:图2.5 S3C2410四线电阻触摸屏电路原理图表1 ADS7843的控制字Bit7(MSB)bit6bit5bit4bit3bit2bitlbit0SA2AlA0MODESERJDFRPDlPDO本设计的开发就是采用这样的一种结构,进行的触摸屏的运用,能够很好的实现我们需要的功能,通过AD 可以进行转化和捕捉,从而定位触摸的位置7。电路图如图2.6所示:图2.6 触摸屏功能引脚图2.2.4 USB接口的选择目前为止,市场上已经出现

24、了USB3.0的接口,日常我们所用到的都是USB2.0接口。两种设备可以通用,但是插口不同,速度不同。USB2.0:最高的数据传输速率480Mbit/s,USB3.0:支持全双工,新增加了5个触点,两条为数据输出,两条为数据输入,采用发送列表区段来进行数据发包,新的触点将会并排在目前4个触点的后方。但是我们选择的开发板中提供的是USB2.0接口。所以在本次的设计中我们采用的是USB2.0接口15。2.3系统软件平台2.3.1嵌入式操作系统的选择目前应用比较广泛的嵌入式操作系统主要有:VxWorks,WindowsCE,Linux等。通过分析各种因素,本次系统采用Linux操作系统。2.3.2嵌

25、入式Linux系统的配置嵌入式系统的配置主要包括以下几个方面:1内核的编译和配置2文件系统的制作3引导系统的选择4移植内核和文件系统到开发板2.3.3 Qt开发平台在本系统的开发过程中,其中应用层主要用到了qt环境下的开发。对于Qt应用程序的开发,在不同的平台下是有所不同的,我选择了Linux平台下的开发,在RHEL4中开发的,开发过程中需要安装Qt sdk集成开发包,然后自动会安装好qt creator 插件,所需要开发的应用程序可以在这里面进行管理和编译,然后生成可执行程序,当开发的程序在该平台完全可以运行后,接着还需要在安装好的交叉编译环境下,将该程序编译成为能在开发板上跑的应用程序14

26、。2.4嵌入式娱乐系统最终方案本系统以博创UP-TECH S3C2410为开发平台,以嵌入式linux作为操作系统。对于本次开发的系统中,需要去实现搭建两个平台,第一个平台就是硬件平台,需要将嵌入式Linux操作系统烧写到开发板等一系列操作。第二个平台就是应用层的平台,需要搭建开发上层应用程序需要的IDE环境。同时还需要建立模拟环境,测试应用程序在开发板上运行情况13。系统的底层包括Linux内核的配置和编译,最后做成镜像文件。同时搭建文件系统以及各种驱动程序的配置,例如USB2.0驱动配置。通过底层的配置才能更好的完成应用层的功能,为上层的接口层和应用层能够更好的提供服务。中间的嵌入式GUI

27、为接口层,采用QT4作为用户GUI的界面库。提供了四个模块来实现各自的功能。系统的最上层就是直接面向用户的应用层。该层采用QT4设计,给用户提供了浏览界面,用户可以通过界面来选择相应的功能。本设计最终目标就是实现播放音频、视频文件、图片浏览器、五子棋游戏的嵌入式互动窗口。嵌入式娱乐系统底层开发基本组成结构图如下所示:图2.7 嵌入式娱乐系统框架图第三章 嵌入式开发环境搭建3.1 系统硬件平台搭建3.1.1系统运行硬件平台本系统以博创UP-TECH S3C2410为开发平台,处理器类型:SamsungS3C3420。主频:203MHZ。主要包括支持MMU处理器、固化存储器、显示设备、输入设备、U

28、SB2.0等。该平台集成了大尺寸LCD触摸屏,型号:LQ080V3DG01,分辨率:640*480像素。系统硬件结构图示为:图3.1 开发板系统结构图3.1.2系统内核配置1.选择需要的模块第一步内核配置中的选项主要是开发者用来为目标机选择处理器架构的选项,不同的处理器架构会对应不同的选项,针对本平台是ARM就有其专用的选项“Multimedia capabilities port”.因此,应该在根目录中的Makefile里”ARCH”的值已设定了目标板的类型:ARCH := arm接着可以配置内核了,内核支持4中不同的配置方法,每一种方法都给开发者提供不同的选择方式,其最终能够实现的功能是一

29、样的。同时这几种方法会有一个相同的方式去读配置文件“.config”。这四种方式如下:表3.1 内核四种配置方式方式对应方法方式一Make config(基于文本方式配置界面)方式二Make menuconfig(基于文本选单方式配置界面)方式三Make xconfig(基于图形窗口配置界面)方式四Make oldconfig(自动读入”.config”配置文件) 在这四种方式中,make menuconfig使用最为广泛,本系统中的内核是采用make menuconfig的方式进行配置。图解分析:从图中,我们可以看出linux内核允许用户对其各类功能逐项配置,一共有18类配置选项,在menu

30、config的配置界面中是纯键盘的操作,用户可使用上下键和“Tab”键移动光标来进入相关子项。当进入“System Type”子项的界面,该子项是一个重要的选项,主要用来选择处理器的类型。图3.2 Linux内核配置此外,要注意2.6和2.4内核在串口命名上的一个重要区别,2.4内核中“COM1”对应的是”ttyS0”,而在2.6内核中“COM1”对应“ttySAC0”,因此在启动参数的子项要格外注意,如果在这里不设置好,串口打印不出信息8。2.建立相互依存关系由于内核源码中的大多数文件都与一些头文件有依赖关系,因此要顺利建立内核,内核源码中的Makefile文件必须知道所有的依赖关系。建立依

31、赖关系一般会在第一次编译内核的时候进行,这样就会在内核源码树中每个子目录产生一个“.depend”文件。运行“make dep” 即可。3.生成内核镜像生成内核镜像使用“make zImage”,通常在Linux中,还有一种生成内核镜像的命令“make bzImage”。内核镜像一般分为压缩的内核镜像和未压缩的内核镜像。然后,压缩的内核映像通常名为zImage 。而未压缩的内核映像通常名为vmlinux,位于源码树的更目录中。3.1.3文件系统制作当把上一节中制作好的镜像放到开发板之后,系统在进行了一些初始化的工作之后,并不能正常的启动。在linux启动过程中,加载根文件系统是linux启动中

32、不可缺少的一部分。制作文件系统的方法也有很多种,可以从零开始手工制作,也可以在现有的基础上添加部分内容加载到目标板上去。现在开始从零开始手工制作根文件系统。 对于根文件系统制作一般采用流行的Busybox工具制作,主要包括配置及编译Busybox,创建根文件系统目录,设备文件及启动配置文件,以及添加常用库。(1) 首先建立一个空根目录在linux系统中,找到一个工作空间,也可以在项目中建立rootfs目录,这个目录现在是空的,接下来在这个目录下建立根文件系统(2)在rootfs中建立文件系统的目录结构,需要用到的命令如下:#: mkdir bin dev etc lib proc sbin s

33、ys usr mnt tmp var#: chmod 1777 tmp#: mkdir usr/bin usr/lib usr/sbin lib/modules#: mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/temp#: mkdir var/lib var/lock var/log var/run var/tmp#: chmod 1777 var/tmp(3)创建设备文件在Linux中主要有2种类型的设备:字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。每个设备都必须有主、次设备号,主设备号相同的设备是同类设备(使用同一个驱

34、动程序)。这些设备中,有些设备是对实际存在的物理硬件的抽象,而有些设备则是内核自身提供的功能(不依赖于特定的物理硬件,又称为虚拟设备)。Linux下创建设备节点的命令是mknod#:mknod -m 600 dev/console c 5 1#:mknod -m 666 dev/null c 1 3#:mknod dev/fb0 c 29 0 #:mknod dev/tty c 5 0#:mknod dev/tty0 c 4 0#:ln -s dev/fb0 dev/fb (4)准备启动配置文件Linux启动所需要的文件有etc/inittab、etc/init.d/rcS、etc/fstab

35、这三个文件,下面分别配置这三个文件。Inittab文件配置,该文件的作用:在Linux内核引导完成以后,就启动系统的第一个进程init,init进程称为所有进程之父,进程号是1,位于sbin目录下。init进程需要读取/etc/inittab文件作为其行为指针,inittab是以行(hang)为单位的描述性(非执行性)文本该文件中需要写入的内容如下::sysinit:/etc/init.d/rcS : askfirst:-/bin/sh: respawn:-/bin/sh: restart:/sbin/init: ctrlaltdel:/sbin/reboot: shutdown:/bin/u

36、mount -a r: shutdown:/sbin/swapoff arcS文件配置,在该文件中添加如下内容:#!/bin/sh#mount all filesystem difined in “fstab”#Echo “mount all.”#/bin/mount a同时需要更改文件的权限chmod 775 etc/init.d/rcSFstab文件配置,该文件的作用:该文件可以放一些很重要的系统需求的文件,那么就可这样mount /directoryname很好的将系统文件加载进来,然后进行操作。在该文件中,添加如下内容:Proc /proc proc defaults 00None /

37、tmp ramfs defaults 00Sysfs /sys sysfs defaults 00 (5)利用BusyBox安装命令工具首先,需要配置busybox,恢复默认配置,然后再默认配置的基础上根据需要进行修改,接着配置好选项以后,开始编译,直接使用make命令就可以进行。在编译成功之后,需要安装busybox中的工具到根文件系统。安装完成后会在rootfs目录下生成linuxrc文件,再去bin和sbin目录下看看,是不是多了很多文件呢,这些都是BusyBox编译生成的命令工具。(6)复制需要用的库文件到/rootfs/lib/目录下。至此,创建根文件系统成功了。3.1.4 U_Bo

38、ot移植1.Bootloader介绍简单的说,Bootloader就是操作系统内核运行之前运行的一段程序,它类似于PC机中的BIOS程序。通过这段程序,可以完成硬件设备的初始化,并建立内存空间的映射图的功能,最终让系统硬件和软件能够很好地适应环境,为最初调用系统内核做好准备。2.U_Boot移植过程(1)准备好u_boot_1.1.6_tar.bz2源码包,放到工作空间/wangfan/bootloader目录下,并进入该目录,解压该压缩文件Tar jxvf u_boot_1.1.6_tar.bz2(2)修改适合该开发平台的配置,同时编译。(3)烧写U_Boot到开发板U-Boot编译完成之后

39、,就可以将u-boot目录下的u-boot.bin 烧写到目标机的NandFlash中,本次烧写是通过并口线进行。然后运行downUBoot.bat,writeUBoot.bat批处理文件。(4)烧写成功后,重启开发板界面图:图3.3 u_boot烧写成功后重启界面3.1.5内核及文件系统移目前为止,已经将U_Boot烧写到NandFlash中,所以在此基础上开始将内核及文件系统移植到开发板上。具体的操作步骤如下:(1)将内核目录下的内核映像文件(zImage)拷贝到宿主机tftp服务器的根目录下。(2)启动tftp服务器:执行tftp services start 命令。(3)打开Super

40、-ARM电源,出现提示信息“Hit any key to stop autoboot: 5 ”时按下空格键,进入Boot Loader的命令行环境。(4)输入命令:tftp 0x30008000 zImage,将zImage通过tftp下载到起始地址为0x30008000的内存中,打印出如下信息就表示下载成功。SuperARM # tftp 0x300080000 zImageTFTP from server 192.168.1.10; our IP address is 192.168.1.11Filename zImage.Load address: 0x80000Loading: # #

41、 # #doneBytes transferred = 1576704 (180f00 hex)图3.4 zImage烧写界面至此,已经将内核烧写到NandFlash中。接下来现在开始烧写文件系统到开发板,过程和刚才是一样的,在只不过在烧写的过程中,需要修改地址,具体步骤如下:(1)将生成的映像文件拷贝到tftp服务器的根目录下,然后启动tftp服务器,打开开发板电源,烧写cramfs文件系统,如图所示:SuperARM # tftp 0x30008000 book2410.cramfsTFTP from server 192.168.1.10; our IP address is 192.1

42、68.1.11Filename root.cramfs.Load address: 0x30008000 Loading: # # done Bytes transferred = 9584640 (924000 hex) 图3.5 cramfs烧写界面 (2) 此时,需要将NandFlash区域中的一块地址擦除用来存放根文件系统,通过上面的图示,可以看出,存放根文件系统的起始地址是0x200000,根文件系统大小是0x930000。操作命令:Nand erase 0x200000 0x930000(3) 擦除结束后,就需要将根文件系统写到NandFlash区域,同时需要设置bootcmd环境

43、变量,配置内核。操作命令:Nand write 0x30008000 0x200000 0x930000最后重启目标板,就可以成功进入系统。图3.6 开发板启动后界面3.1.6 运行环境配置在该开发平台上需要运行上层的应用程序,则需要添加运行这些程序需要的环境,也就是库文件。对于该系统的应用程序由QT开发,所以在开发板上需要添加相对应的qt库文件。1.建立arm交叉编译工具链下载交叉编译工具cross-2.95.3.tar.bz2(或其他版本如:cross-3.4.4.tar.bz2),这是已经制作好的arm交叉编译工具链,只需解压及建交环境变量即可使用。把文件cross-2.95.3.tar.bz2拷贝到一个文件夹,这里我用:/usr/local/arm这个目录。注意后面建立环境变量时要与之对应。解压tar-xjvfcross-2.95.3.tar.bz2建立环境变exportPATH=/usr/local/arm/2.95.3/bin:$PATH或者也可以写进文件 “/.bashrc”。 export PATH=/usr/local/arm/2.95.3/bin:$PATH到此arm-linux交叉编译工具链就已经建好了。

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号