嵌入式系统引导程序_第1页
嵌入式系统引导程序_第2页
嵌入式系统引导程序_第3页
嵌入式系统引导程序_第4页
嵌入式系统引导程序_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、第,6,章,嵌入式系统引导,引导程序与固件,?,?,计算机是在程序控制下自动运行的电子设备,系统上电或复位后,微处理器会从特定的地址读,取第一条指令,没有操作系统的简单嵌入式计算机,系统上电后,,通常直接进入用户应用程序,有操作系统的计算机中,上电后首先运行的是一,个标准化的软件,引导程序,(,Bootloader,),?,?,?,固化在,ROM/flash,中的软件,称为,固件,(Firmware),PC,机的引导程序,BIOS,?,?,BIOS(Basic Input Output System),固化到计算机主板上的,ROM,芯片中的一组程序,BIOS,的主要内容,?,上电自测试程序,。

2、,PC,机启动时,首先进入,ROM BIOS,,,接着执行加电自检,POST,(,Power-on self test),?,?,系统参数设置,:,用于设置,CMOS RAM,中的各项参数,中断服务程序,:,BIOS,中段服务程序是软件与硬件之间,的一个编程接口,,PC,软件通过调用这些服务程序实现对,硬件模块的控制,?,加载操作系统,:,在机器启动时,系统,ROM BIOS,首先,读取磁盘引导记录进内存,然后由引导记录读取磁盘操作,系统重要文件进内存,从而启动系统,BIOS,的启动流程,上电,执行复位向量指令,跳,转到,BIOS,程序,硬件初始化,POST,测试正常?,是,查找并加载,操作系

3、统引导程序,否,发出报警信号,等待用户干预,引导程序继续加载,并启动操作系统,嵌入式系统软件的四个层次,?,?,?,?,引导加载程序,Bootloader,操作系统内核,(,任务管理、内存管理、设备驱动,),文件系统、图形用户界面,应用软件,用户应用程序,图形用户界面(,GUI,),操作系统内核,Bootloader,文件系统,A,R,M,7,开,发,板,中,的,固,件,嵌入式系统,Flash,典型空间分配,引导程序,引导,参数,操作系统内核,文件系统,嵌入式系统常见引导程序,?,?,?,U-Boot,,,支持多种微处理器,如,x86,、,PowerPC,、,ARM,、,MIPS,等。,VIV

4、I,,,韩国,MIZI,公司开发的专门用于,ARM,处理器的一种,引导程序。,BLOB,,,支持多种,CPU,,包括,SA1100,,,SA1110,,,PXA255,,,PXA270,等,用户可以根据目标板的特性进行,定制。,RedBoot,,,一个专门为嵌入式系统定制的引导程序,最,初由,Redhat,开发。,ARMboot,,,一个支持,ARM,和,StrongARM,处理器的引导,程序。,?,?,?,用户自定义,Bootloader,嵌入式系统引导程序功能,?,?,?,?,?,硬件初始化,提供人机交互命令,支持目标机与开发机之间的通信,支持,Flash,烧写,加载启动嵌入式操作系统,B

5、ootloader,的两种操作模式,?,?,启动加载模式,:,自动加载并启动操作系统,不需要用户参与,下载模式,:,用户可通过系统控制台用命令行的方式向系统发出控制,命令。用户常在该模式下使用下载命令,通过串口、以太网等从开发,机下载文件,Bootloader,程序的两个组成部分,?,Stage 1,:,存放与,CPU,体系结构相关的代码,,其,代码短小精悍,易升级,通常用汇编语言编写,Stage 2,:,通常用,C,语言编写,可以实现更复杂的,功能,具有更好的可读性和可移植性,?,Bootloader,程序运行流程,Stage 1,Stage 2,基本硬件初始化,将,Stage 2,代码复制

6、到,RAM,并执行,否,串口是否有按键输入?,将操作系统内核映像和文件系统,映像复制到,RAM,是,进入命令行下载模式,启动操作系统内核,Bootloader,的,Stage 1,?,?,?,硬件设备初始化:,屏蔽所有中断,设置,CPU,速度和时,钟频率, RAM,初始化等,为加载,Bootloader,的,stage2,准备,RAM,空间,拷贝,Bootloader,的,stage2,到,RAM,空间中,?,?,设置好堆栈,为执行,C,语言代码作好准备,跳转到,stage2,的,C,入口点,Stage 1,阶段的物理内存布局,RAM,地址空间,Flash,地址空间,堆栈指针,Stage 1,

7、为,Stage 2,的代码,准备的,RAM,空间,Stage 2,代码起始地址,空闲区,文件系统映像,空闲区,操作系统内核映像,空闲区,Bootloader Stage 2,的执行代码,Bootloader Stage 1,的执行代码,Bootloader,的,Stage 2,?,其它硬件设备的初始化,?,检测系统内存映射,?,将操作系统内核映像及文件系统映像从,取到系统,RAM,中,?,为内核设置启动参数,?,调用操作系统内核,读,Flash,U-BOOT,?,?,?,?,U-Boot,是一种应用广泛的嵌入式引导程序,由,fadsrom,、,8xxROM,及,PPCBoot,逐步发展演化而,

8、来,2002,年,11,月,,PPCBoot,发布了最后一个版本,2.0.0,版,并改名为,U-Boot 0.1.0,与,Linux,一样,,U-Boot,遵循,GPL,,是一个开放源代,码软件,GPL: General Public License,通用公共许可协议,U-Boot,的特点,?,?,?,?,?,?,?,?,开放源代码,支持多种嵌入式操作系统,支持多种不同体系结构的处理器,具有较高的可靠性和稳定性,提供丰富的用户接口命令,支持串口、网络文件下载,丰富的设备驱动程序,有完整的软件文档与良好的技术支持,U-Boot,的命令,?,?,命令类型:,信息命令、内存命令、,Flash,命令、

9、运行控,制命令、网络命令、环境变量命令,命令功能:,环境参数设置、内存检测、操作系统引导、,程序测试、,Flash,擦除与烧写,U-BOOT,源文件分类,?,?,?,与处理器体系结构或开发板硬件直接相关的程序,目录,与处理器体系结构无关的通用函数或者驱动程序,目录,U-Boot,的独立工具、二次开发例程及相关设计文,档目录,U-Boot,代码根目录,构,码,结,代,系,关,体,相,与,数,序,函,程,用,动,通,驱,与,档,码,文,代,、,程,具,例,工,cpu,处理器相关,源代码,board,开发板相关,源代码,lib_,xxx,体系结构,相关源代码,drivers,通用设备,驱动程序,co

10、mmon,平台独立的,通用源代码,include,头文件,lib_generic,通用库函数,net,网络相关,程序代码,fs,文件系统,相关代码,post,上电自检,程序代码,disk,硬盘接口,相关程序,examples,独立应用,程序例程,tools,相关工具,源代码,doc,开发使用,文档,处理器相关,各子目录,Makefile,Makefile,文件,config.mk,体系结构配置文件,cpu.c,处理器相关代码,interrupts.c,中断处理代码,serial.c,串口初始化代码,start.s,全局启动汇编代码,开发板相关,子目录,Makefile,Makefile,文件,

11、config.mk,体系结构配置文件,s3c44b0.c,开发板相关代码,flash.c,Flash,操作相关代码,memsetup.s,初始化,SDRAM,代码,uboot.lds,对应连接文件,根目录下,体系结构相关各子目录,lib_avr32,AVR32,体系结构相关代码,lib_arm,ARM,体系结构相关代码,lib_i386,x86,体系结构相关代码,lib_m68k,m68k,体系结构相关代码,lib_mips,MIPS,体系结构相关代码,lib_nios,NIOS,体系结构相关代码,lib_ppc,PowerPC,体系结构相关代码,lib_sparc,SPARC,体系结构相关代码,U-Boot,源码结构,U-BOOT,启动过程,stage 1,设置映像文件的入口,s,tart.o,stage 2,进入,stage 2,执行入口程序,start_armboot(),设置异常向量表,执行复位中断跳转程序,调用,cpu_init_crit(),初始化,CPU,及中断

温馨提示

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

评论

0/150

提交评论