基于ARM的嵌入式Linux系统研究与应用_第1页
基于ARM的嵌入式Linux系统研究与应用_第2页
基于ARM的嵌入式Linux系统研究与应用_第3页
基于ARM的嵌入式Linux系统研究与应用_第4页
基于ARM的嵌入式Linux系统研究与应用_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、山东大学硕士学位论文基于ARM的嵌入式Linux系统研究与应用姓名:王彦堂申请学位级别:硕士专业:控制理论与控制工程指导教师:李贻斌20070529山东大学硕士学位论文摘要当前,嵌入式系统已经广泛地应用到人们生活的各个领域。同时,随着嵌入式处理器性能的不断增强,特别是位高性能嵌入式微处理器的广泛使用,嵌入式操作系统逐渐成为嵌入式系统中最重要的组成部分。而在各种嵌入式操作系统中,凭借其代码公开,性能稳定,网络功能强大等多方面的优势,在嵌入式系统中被广泛地采用,得到了嵌入式系统设计者的普遍认可研究操作系统理论,进行嵌入式系统的移植和应用程序的开发,具有重要的理论意义和现实意义。研究课题以位架构的嵌

2、入式处理器¥为硬件平台核心,系统地介绍了¥处理器和系统的硬件组成。在此基础上重点研究了嵌入式系统的构建和移植,其中首先研究了基于的嵌入式交叉开发环境的构建。之后详细地研究了系统引导程序的原理,分析了系统引导程序的结构并在此基础上实现了的移植。接下来论文研究了内核结构和启动引导过程,讨论了内核移植及配置编译的具体方法和过程。作为嵌入式移植的另外一个重点,课题还详细地研究了嵌入式根文件系统的结构、根文件系统内容的构建以及如何为嵌入式系统进行多文件系统的选择。在完成内核与文件系统的移植后研究了嵌入式驱动程序的原理,设计了微处理器扩展总线接口,给出了上设备驱动程序实现方法。课题最后还研究了嵌入式系统下

3、的图形用户界面,在分析国内外嵌入式的特点和的技术优势基础上,介绍了为嵌入式系统配置、编译和安装的方法,而且以一个状态显示界面程序为实例介绍了程序的设计方法关键词:;嵌入式;:内核;山东大学硕士学位论文,磊髂,¥蛤),雠他,¥,:;山东大学硕士学位论文符号说明,通用公共许可证。精简指令集计算机蝴,高级精简指令集计算机,高级微处理器总线结构,高级系统总线,高级外设总线,存储器管理单元,液晶显示屏,只读存储器,静态随机存储器,当前程序状态寄存器,备份的程序状态寄存器,数字信号处理器,基本输入输出系统,主引导记录,存储技术设备,实时操作系统,文件系统架构标准,片上磁盘,片上系统,图形用户界面,控制器局

4、域网原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人承担。论文作者签名:墨蒸望日期:兰翌墨兰关于学位论文使用授权的声明本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存论文和汇编本学位论文。(保密

5、论文在论文作者签名:期:山东大学硕士学位论文第一章绪论课题研究的背景嵌入式系统是一种以应用为中心,以计算机技术为基础,其软硬件可配置,可裁减,对功能、可靠性、成本、体积、功耗有严格约束的专用计算机系统。它结合了先进的计算机技术、半导体技术、电子技术以及各个行业的具体应用,被看作技术密集、不断创新的知识集成系统。嵌入式系统由硬件和软件两大部分组成,硬件包括了嵌入式处理器和外围硬件设备,软件一般由嵌入式操作系统和应用软件组成,嵌入式系统是集软硬件为一体的可以独立完成某具体工作的计算机系统。随着计算机软件技术的发展和嵌入式处理器性能的不断提高,在上世纪八十年代开始出现各种各样的商用嵌入式操作系统,这

6、些操作系统大部分是为专用微处理器而开发的。其中许多嵌入式操作系统已经被广泛应用,如、等等。嵌入式操作系统的使用,使嵌入式系统的可靠性、稳定性得到很大提高,同时使得嵌入式系统的多任务处理能力得到大大的增强是一种在网络上产生的操作系统,所有的开发都在()的版本控制之下,因此任何人都可以通过网络得到的内核源代码,这使得无数的计算机高手加入到的开发中来,在短短的十几年中已经迅速发展成一个稳定、成熟的操作系统。在嵌入式领域,表现出强大而完备的性能,其优势主要体现在以下几点:()源代码公开,系统升级、软件移植方便。只要遵循的相关规定就可以免费得到内核的完整源代码,不用支付版权税,可以根据具体的系统进行裁减

7、和优化,这对于构建嵌入式系统具有重要的意义()性能稳定、可靠本身具备的一个很大优点就是稳定,曾有人做过实验小时不问断运行的情况下,三年内只出现过次死机现象,而死机次数则有次之多,嵌入式系统一般要求在环境恶劣的情况下依然能够稳定正常的工作,正是由于的稳定性,才使得嵌入式系统得到高可靠性的保证。山东大学硕士学位论文()内核可裁剪,功能可定制。内核代码质量优越,大小可裁减,目前正式公布的内核最小可以裁减到。的内核采用模块化设计,模块可以根据需要加载和卸除。这就使得开发人员可以针对自己的系统来编译自己的内核,运行所需资源少,十分适合嵌入式应用。而且,内核与用户界面完全独立,各部分的可定制性很强,这有利

8、于节约系统资源,非常适合于嵌入式系统的开发。()优秀的网络功能、支持多种文件系统。上有一套成熟的网络协议堆栈,口,使通过串并无线连接成为可能,对于协议有着最完备的支持,这使得在网络方面有很大的优势。内核能够支持多种文件系统,如,。等等,为高效的管理、使用嵌入式存储设备提供良好的支持。()支持多种体系结构的硬件平台。可以稳定的运行在许多种体系结构的处理器上,最新的内核支持、豇、()、()、等微处理器体系结构。还可以在没有()的处理器上运行,这就使得在嵌入式领域没有的处理器得到相当广泛的应用。鉴于在嵌入式领域强大的生命力,很多国内外的公司开发出了各种各样的商用嵌入式的发行版,进一步推动了嵌入式研究

9、和应用。目前,嵌入式的应用领域已经涵盖了从工业过程控制、军事电子设备、航空航天到消费类电子产品、网络通信设备等人们生活的各个领域。嵌入式在航空与航天、工业控制、电信、汽车系统等方面的应用是很广泛的,例如由公司开发的计算机辅助训练系统(,)、欧洲同步辐射机构建造的加速度控制系统、欧洲太空总署开发的太空交通工具控制()等都成功的移植了嵌入式系统。嵌入式的商业发行版在国外得到众多公司与商家的支持,他们在嵌入式的开发上积累了丰富的经验,目前几款著名的嵌入式操作系统都是由外国的公司或科研机构开发维护的下面介绍已经广泛应用的几种嵌入式操作系统:)山东大学硕士学位论文是专门面向没有的嵌入式处理器的小型操作系

10、统它是由维护的可免费下载的开源操作系统,它支持多种体系结构的处理器平台,包括()、;:;等平台。目前已成功移植到近百种芯片结构中,它提供小型化的应用程序库、良好的开发工具链、标准的的接口。它内核体积小、实时性有所增强,只适合不需要内存管理的小型系统。()支持具有的架构的嵌入式处理器,它由负责内核的维护,任何人都可以免费下载其源代码。目前,支持包括、,、等系列的处理器。现在已经成功应用到网络计算机、各种开发板、机顶盒、手持设备等数十种设备中()是世界上最早的实时系统,是针对系统缺少实时性的一个非常成功的解决方案。使用的关键技术是中断控制硬件的软件模仿。无论正在做什么,无论是否在核心态运行,无论是

11、否禁止中断,也无论是否被锁住了,实时系统总是能响应中断,从而保证了系统的实时性。目前已成功应用于从航天数据的采集、科学仪器测控到电影特技图像处理等众多领域根据,的调查情况,有的用户已经将应用到他们的嵌入式设备中()主要是面向多媒体、无线应用以及基于处理器的各种嵌入式设备应用。特别是在具有核的处理器中,得到广泛的应用。内核运行在处理器中,而实时任务如视频采集、声音处理等则运行在中。作为商业发行版,提供板级支持包,包含了配置、定制的方法,良好的嵌入式应用程序开发的解决方案。目前,由于所具备的优秀特性,以及众多科研机构和厂商的不断推动,其在嵌入式领域的应用前景将会更加广阔。因此,研究和分析嵌入式操作

12、山东大学硕士学位论文系统的理论和应用,开发相关的嵌入式系统和应用软件,具有重大意义。主要研究内容本课题主要研究内容是在以高性能的位处理器为核心的硬件平台上移植稳定、可靠的嵌入式操作系统与文件系统,开发实现相应的设备驱动程序,实现友好的图形用户界面。具体包括以下内容:()嵌入式的构建、移植。一个完整的嵌入式系统需要以下的基本元素:引导装载程序、内核、根文件系统、应用程序。引导装载程序和系统硬件紧密相关,不同的处理器采用不同的引导装载程序,需要根据系统的硬件配置对引导装载程序进行配置,主要是设置处理器参数、内存地址分配、内存空间的映射、加载操作系统内核等。内核的配置、移植,将主要是修改内核源代码树

13、中各个文件夹下的配置文件,合理组织新的驱动程序,根据配置进行条件编译、条件连接,最终生成内核映像文件。而根文件系统负责以文件的方式管理系统的各种资源。()设备驱动程序研究与开发。在内核中缺少对一些特殊的嵌入式设备的支持,例如转换器、控制器、摄像头等,因此需要分析设备驱动程序的原理,开发面向嵌入式设备的驱动程序,将这些驱动程序以模块的方式加到的内核源代码中,可以选择直接编译进系统的内核映像,也可以作为可卸载模块,动态的加载。主要实现了控制器驱动程序设计与开发。)形用户界面设计。图形用户界面选用作为开发平台。是针对实时系统的嵌入式轻量级图形用户界面支持系统,具有多种运行方式,可配置、可裁减,同时具

14、有高性能、高可靠性,能够在处理器主频为,空间的系统上运行。遵循条款发布,源代码公开,提供了完备的多窗口机制、消息传递机制,提供常用的控件类,支持对话框消息框,支持多字符集多字体和等常见图像格式,支持中文输入,还支持低端、高端显示设备。在探测机器人本体上安装显示器和触摸屏用来提供良好的人机操作接口,设计图形用户界面来动态地显示机器人的各种参数。山东大学硕士学位论文论文章节安排本论文的各部分内容和安排如下:第一章绪论阐述课题研究的背景和意义,分析嵌入式所特有的优势,介绍目前广泛应用的几种嵌入式操作系统,为后面的系统移植作铺垫。第二章目标平台硬件和软件系统方案,阐述系统采用的目标硬件平台,介绍嵌入式

15、微处理器¥的功能结构和开发设计时需要注意的几个方面。根据系统硬件特点,选择嵌入式系统软件内容,研究如何选择制作交叉开发环境。第三章系统引导程序分析与实现,研究系统引导加载程序的原理,并对系统引导程序的结构和工作原理进行分析,研究向目标平台移植的方法及需要注意的问题,最终完成向目标平台的移植第四章内核移植和文件系统的构建研究了内核架构与启动流程,研究嵌入式系统存储设备的特点及相应的存储技术,研究了根文件系统的架构标准,实现了内核移植、多文件系统的选择和根文件系统内容的构建。第五章平台上嵌入式驱动程序的设计与开发。研究了嵌入式驱动程序的原理,设计了¥微处理器扩展总线接口,给出了上设备驱动程序实现方

16、法。第六章基于的图形用户界面的开发。研究了为嵌入式系统配置、编译、安装的方法,并且利用设计实现了一个图像和状态显示界面。第七章结束语,对整个研究工作进行总结并确定了后续研究目标。山东大学硕士学位论文第二章目标平台硬件和软件系统方案嵌入式系统包括目标硬件平台和软件系统这两个方面的内容。在移植前需要熟悉目标硬件平台的组成结构,并根据目标硬件平台的特点来选择各种软件组件,正确搭建功能完善的交叉开发环境,然后制定出合理的软件系统移植方案。目标硬件平台结构本系统采用的硬件平台由两部分组成,分别是核心板和主板核心板通过引脚的精密插座安装在主板上。核心板集成了微处理器¥及关键的功能芯片,其外观如图所示。图核

17、心板系统采用的硬件平台的总体结构如图所示,主要部件如下:图硬件平台结构图山东大学硕士学位论文嵌入式微处理器:,:,以太网:触摸屏:色:接口:内置两个控制器,一个接口,一个接口嵌入式微处理器目标平台所采用的嵌入式微处理器为韩国三星公司的,它是三星公司推出的一款低价位、低功耗、高性能的位嵌入式处理器该芯片采用了内核,具有五级整数流水线,工作频率最高可达(在内核电压下),运行速度可达。提供了以下丰富的内部设备:分开的的指令和数据,虚拟存储器管理,控制器(支持呵),支持系统引导,系统管理器(片选逻辑和控制器),通道,通道,通道位和触摸屏接口,主机,设备,通道的等【】。¥的低功耗、精简和出色的全静态设计

18、特别适用于对成本和功耗敏感的应用。¥的显著特性是它的核心,是一个由公司设计的位处理器。实现了,和高速缓冲体系结构,¥的内部结构图如图所示。另外,通过提供一系列完整的系统外围设备,¥大大减少了整个系统的成本,消除了为系统配置额外器件的需要山东大学硕士学位论文图¥内部结构图嘲在使用过程中需要关注的特点主要有以下几个方面:系统时钟:¥集成了一个具有日历功能的和具有(和的芯片时钟发生器。可以生成三种时钟信号,分别是使用的,总线使用的和总线使用的。两个锁相环,用于和:,用于设备。支持,和的分频选择,其比率是通过控制寄存器的和控制的,默认的比率是:推荐的比率是:,即,吼控制器:支持从上启动和引导系统,而在

19、上执行主程序的设计方案。为了支持的系统引导,具备一个内部缓冲器,叫做”。当系统启动时,存储器的前面字节内容将被自动载入到中,然后系统自动执行这些载入的引导代码。¥对存储器映射也因启动方式的不同而不同,具体分配如图所示:系统的存储空间共分为组(),每组的山东大学硕士学位论文大小是,共。到的开始地址是固定的,用于或。和用于,或,这两个组可编程且大小必须相同,的开始地址是的结束地址。习明幅淳蝴只硝瞳()(弘,)日取:惭滋往蚺料)(嚣(蝴盛醣伽往蚺曲)舶)纛引脚进行选择:鳓遵斟黛挈铭,洲稿十)斟麓,拥涵瞄)(由,州一,葛面西葡丽缝黧受鲢毫用一日吐昂导习;舶媳榭覃:图¥存储空间映射图¥的启动方式:¥有三

20、种启动方式,可通过:】:处理器从启动;【:】处理器从位宽的启动;【:】;处理器从位宽的启动脓体系结构从编程的角度看,微处理器的工作状态有两种:状态和状态当微处理器执行位的指令集时,工作在状态;当微处理器执行位的指令集时,工作在状态。在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。微处理器的指令长度可以是位(在状态下),也可以为位(在山东大学硕士学位论文状态下)。微处理器中支持字节(位)、半字(位)、字(位)三种数据类型,其中。字需要字节对齐,半字需要字节对齐。需要注意的是,在体系结构中,字()的长度为位,半字(

21、)的长度为位,字节()的长度为位。微处理器支持种运行模式,分别为【】【:用户模式(神:处理器正常的程序执行状态;快速中断模式():用于高速数据传输或通道处理;外部中断模式():用于通用的中断处理;管理模式():操作系统使用的保护模式,系统复位后的默认模式;数据访问终止模式():当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护;系统模式():用于运行具有特权的操作系统任务;未定义指令中止模式():当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。除用户模式以外,其余的所有种

22、模式称之为非用户模式,或特权模式(),其中除去用户模式和系统模式以外的种又称为异常模式(),常用于处理中断或异常,以及需要访问受保护的系统资源等情况微处理器共有个位寄存器,其中个为通用寄存器,个为状态寄存器。但是这些寄存器不能被同时访问,具体哪些寄存器是可编程访闯的,取决于微处理器的工作状态及具体的运行模式。但在任何时候,通用寄存器,程序计数器、一个或两个状态寄存器都是可访问的状态下的寄存器组织如表所示,包括通用寄存器及程序状态寄存器。具体来说又可分为以下几类:未分组寄存器:在所有的运行模式下,未分组寄存器都指向同一个物理寄存器,他们未被系统用作特殊的用途,因此,在中断或异常处理进行运行模式转

23、换时,由于不同的处理器运行模式均使用相同的物理寄存器,可能会造成寄存器中数据的破坏,这一点在进行程序设计时应引起注意。山东大学硕士学位论文分组寄存器:对于分组寄存器,它们每一次所访问的物理寄存器与处理器当前的运行模式有关对于来说,每个寄存器对应两个不同的物理寄存器,当使用模式时,访问寄存器趾;当使用除丘模式以外的其他模式时,访问寄存器对于,来说,每个寄存器对应个不同的物理寄存器,其中的一个是用户模式与系统模式共用,另外个物理寄存器对应于其他种不同的运行模式。采用以下的记号来区分不同的物理寄存器:其中,为以下几种模式之一:鹎铀,吖,。寄存器在指令中常用作堆栈指针由于处理器的每种运行模式均有自己独

24、立的物理寄存器,因此,在用户应用程序的初始化部分,一般都要初始化每种模式下的,使其指向该运行模式的栈空间,这样,当程序的运行进入异常模式时,可以将需要保护的寄存器放入所指向的堆栈,而当程序从异常模式返回时,则从对应的堆栈中恢复,采用这种方式可以保证异常发生后程序的正常执行。寄存器也称作子程序连接寄存器()或连接寄存器。当执行子程序调用指令时,中得到(程序计数器)的备份。其他情况下,用作通用寄存器。在每一种运行模式下,都可用保存子程序的返回地址,当用或指令调用子程序时,将的当前值拷贝给,执行完子程序后,又将的值拷贝回,即可完成子程序的调用返回。寄存器用作程序计数器()在状态下,位【:】为,位:】

25、用于保存;在状态下,位【】为,位:】用于保存。由于体系结构采用了多级流水线技术,对于指令集而言,总是指向当前指令的下两条指令的地址,即的值为当前指令的地址值加个字节。寄存器用作(),即当前程序状态寄存器。可在任何运行模式下被访问,它包括条件标志位、中断禁止位、当前处理器模式标志位,以及其他一些相关的控制和状态位。山东大学硕士学位论文每一种异常模式下又都有一个专用的物理状态寄存器(),即备份的程序状态寄存器。当异常发生时,用于保存的当前值。从异常退出时则可由来恢复由于用户模式和系统模式不属于异常模式,他们没有,当在这两种模式下访问,结果是未知的。状态下的寄存器集是状态下寄存器集的一个子集。程序可

26、以直接访问个通用寄存器()、程序计数器()、堆栈指针()、连接寄存器(和。同时,在每一种异常模式下都有一组、和。表状态下的寄存器组织软件系统选择和构建构建交叉开发环境建立和安装交叉开发环境通常是在开发嵌入式软件之前要做的第一件事情。因为针对嵌入式程序的编译、连接与通常的程序开发不同:在嵌入式系统中,由于其硬件能力所限,不可能在嵌入式系统上安装编译器和连接器,然后在嵌入式系统上编写代码、编译并连接程序。于是就出现了交叉编译器()。交叉编译器是指运行在某台功能足够强大的宿主机()上,可用来编译某个源程序,然后生成针对特定目标平台()的代码的编译器。除了交叉编译器,在开发过程还需要以下几种工具:山东

27、大学硕士学位论文相关二进制工具(连接器、归档工具、符号剥离器等)。针对目标平台的头文件不同的目标平台具有自身特有的函数库及对应的头文件,这样,在宿主机上,我们就需要保留一份针对该目标平台的头文件,以便用来交叉编译程序针对目标平台的函数库和头文件一样,在宿主机上,我们也要保留一份针对特定目标平台的函数库,以便连接生成最终的目标程序。以上这些开发嵌入式系统软件所使用的工具通常就被称为交叉开发工具链或者交叉开发环境。目前,开发嵌入式系统首选的开发工具是自由软件基金组织()提供的开发工具。开发工具已经集成到各发行版中,它与内核一脉相承,作为开发内核及应用软件的标准开发工具,因为其效率高、功能强大而被移

28、植到多种平台之上。跨平台的开发工具链组件包括:二进制工具,编译器,函数库,以及调试工具。可以从:,或任何其他的镜像网站下载工具链的各个组件。由于这些组件的开发和发行完全是各自独立的,选择开发所使用的组件版本就成为建立交叉开发工具链的第一步工作。当与其他组件的不同版本组合在一起时,并非一个组件的所有版本都能顺利完成建立工作,必须试着找到适合主机和目标板的组合。经过测试对比,最终选择的组件为:二进制工具套伺:一,编译器,库,调试工具,以及内核。手工建立交叉开发工具是一件十分繁琐的工作,是否能成功建立交叉开发工具与选择的组件版本甚至主机的编译器版本都有关系,通常需要在选用的组件上打一些补丁才能完成工

29、具链的制作可以借助工具链制作工具如凹”、等来简化工具链制作过程。以具为例,该工具中包含了制作工具链所必须的、经过验证的各种补丁,能根据选用的制作工具链组件的版本,自动应用相应的补丁,提高制作出的交叉开发工具的可靠性是通过脚本来建立交叉开发工具的,需要注意的是,¥系列嵌入式微处理器没有硬件浮点协处理单元,而是通过软件模拟实现浮点运算,所以选用的模板脚本文件为,否则,应该选用或其他最为相关的脚本模板。在使用制作交叉开发工具时主要是修改配置脚本来指定使用的各个山东大学硕士学位论文组件的版本。最终得到的内容如表所示:表交叉开发工具主要目录结构目录内容交叉开发工具目标平台使用的链接库目标平台使用的头文件

30、录包含了交叉开发工具链中全部的工具程序,将在主机上使用这些工具来为目标板开发应用程序。最后,将交叉开发工具的搜索路径写入脚本文件,导入到¥姗环境变量中,完成交叉开发环境搭建。嵌入式软件系统构成一个嵌入式系统从软件的角度看通常可以分为四个层次:引导加载程序:包括固化在固件(五)中的代码(可选),和两大部分。内核:特定于嵌入式板子的定制内核以及内核的启动参数。文件系统:包括根文件系统和其他建立于设备之上的文件系统。用户应用程序:特定于用户的应用程序。通常,在用户应用程序和内核层之间还会包括一个嵌入式图形用户界面。常用的嵌入式有:和等本课题在移植过程中选择的引导加载程序是韩国公司开发的,它是完全针对

31、嵌入式微处理器¥构建的引导加载程序,具有良好的配置界面,系统移植方便。内核采用针对平台的,对于¥处理器的代码已经基本实现,大大降低了移植的难度。为了保护系统文件不被破坏,根文件系统采用了格式的可压缩只读文件系统。这不仅为系统节省大量的存储空间,还大大提高了系统的可靠性。图形用户界面采用是,它是面向实时嵌入式系统的轻量级图形用户界面,具有较好的层次结构和完善的函数,方便用户开发。山东大学硕士学位论文第三章系统引导程序的移植引导程序是嵌入式系统在加电后执行的第一段代码,它主要负责将操作系统映像装载到内存中,然后跳转到操作系统所在的空间,启动操作系统运行。在所有的嵌入式系统中,构建或移植一个都是一项

32、最基本的工作。引导程序原理在的体系结构中,系统的引导加载程序由(。其本质是一段固件程序)和位于硬盘中的系统引导程序(如或等)组成。而在嵌入式系统中,并没有那样的固件程序,存储介质也很少使用硬盘,而是主要使用作为系统存储的媒质,因此整个系统的启动加载就完全由引导程序来完成。嵌入式系统中的引导程序将负责初始化硬件设备、建立内存空间的映射图,然后将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。在系统加电或复位后,任何都会从制造商预先指定的一个地址获得第一道指令。而任何用构建的系统都会在该位置上使用某种形式的固态存储器。例如在一个基于核的嵌入式处理器中,系统在上电启动

33、时从地址处开始执行,在这个地址处存储的通常就是系统的引导程序通常在嵌入式系统中,一个同时装有、启动参数、内核映像和根文件系统映像的固态存储器的典型物理空间分配如图所示:从低地址到高地址方向图固态存储器的典型物理空间分配其中,固态存储器中的启动参数区域是可选的,可以在编译内核时指定默认的启动参数。都是严重依赖于硬件而实现的,在嵌入式世界里几乎不可能建山东大学硕士学位论文立一个通用的。通常都是针对特定体系结构的而实现的,不同体系结构的有许多不同的可用。除了依赖于具体的体系结构,还依赖于具体的嵌入式板级设备的配置。也就是说,即使是基于同一处理器而设计的电路板,要想让运行在一块板子上的程序也能运行在另

34、一块板子上,通常也都需要修改的源程序,对其进行移植工作。因此,移植或开发特定的是构建嵌入式系统中一项必要的基础工作而掌握的操作模式、工作流程和工作内容,将会使这项工作变得比较容易实现【】:首先,对于大多数都具有两种不同的操作模式:启动加载模式和下载模式。通常情况下,下载模式仅对开发人员有意义,因为从最终用户的角度看,的作用就是用来加载操作系统,而并不存在所谓的启动加载模式与下载工作模式的区别:启动加载()模式:这种模式也称为”自主”()模式。就是从目标机上的某个固态存储设备上将操作系统加载到中运行,整个过程并没有用户的介入。这种模式是的正常工作模式,因此在嵌入式产品发布的时候,必须工作在这种模

35、式下下载()模式:在这种模式下,目标机上的将通过串口连接或网络连接等通信手段从主机()下载文件,比如:下载内核映像和根文件系统映像等。从主机下载的文件通常首先被保存到目标机的中,然后再被写到目标机上的类固态存储设备中。的这种模式通常在第一次安装内核与根文件系统时被使用。此外,以后的系统更新也会使用的这种工作模式。工作于这种模式下的通常都会向它的终端用户提供一个简单的命令行接口其次,从这样的设备上启动的运行大多都分为两个阶段。第一个阶段主要包含依赖于体系结构的硬件初始化代码,通常都用汇编语言来实现。这个阶段的主要任务依次有:初始化基本的硬件设备,包括初始化中断、等基本设备;准备加载第二阶段代码需

36、要的空间;复制第二阶段的代码到;山东大学硕士学位论文设置堆栈,跳转到第二阶段的程序入口点第二阶段通常用语言完成,主要实现加载操作系统内核映像与根文件系统、调用操作系统运行的功能。这个阶段的主要任务依次有:初始化本阶段要使用到的硬件设备;检测系统内存映射;将映像和根文件系统映像从上读到空间中;为内核设置启动参数;调用内核结构分析是韩国的公司针对系列微处理器开发的一种,目前它支持、¥这两种类型的微处理器。具有结构清晰、功能丰富的特点。它支持图形化的用户配置界面,提供对分区、下载文件等一系列命令。同时具备两种操作模式,即启动加载模式和下载模式在处于下载模式时,通过目标平台和主机的串行连接,向用户提供了一个简单的命令行接口。用户可以通过命令行接口使用它的命令集。源代码的目录

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论