vxworks引导启动过程讲义.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一基本概念及引导概述1 bootloader/bootrom/bootstrapCPU上电经自复位的过程(由硬件时序逻辑决定的Power-On StrappingSequence)后,指令指针指向一个固定的地址(after-reset startingpoint)。这个固定地址因体系架构而异:在一个基于 ARM7TDMI core 的嵌入式系统中,系统在上电或复位时通常都从地址0处开始执行;在一个MIPS体系架构的嵌入式系统中,系统在上电或复位时通常都从地址0xBFC00000(0x1FC00000)处开始执行。无论是ARM中的0还是MIPS中的0x1FC00000,这个入口地址处往往存放的就是系统的Boot Loader程序。这个地址往往映射(可参考具体datasheet的Memory Map)为Boot Rom的地址空间,这里的Boot Rom通常为NOR Flash或者SPI Flash(早期的可能为EEPROM等非易失性存储介质)。由此可见,bootloader(引导加载程序)是系统上电后运行的第一段软件代码。bootrom则是用来存储bootloader的ROM/Flash芯片。当然bootrom(ROM/Flash)上不仅仅只是存储bootloader,往往还存储着系统映像、应用程序资源和用户配置数据等信息。这样,嵌入式设备每次重新上电后,总能加载系统和恢复上一次的配置。因为嵌入式设备中往往没有配备磁盘,SDRAM又是易失的,因此bootrom上往往还存放着系统映像等数据(可能是压缩的)。在嵌入式系统中,通常没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动微码),因此整个系统的加载启动任务就完全由Boot Loader来完成。此时,CPU只认得指令,因此bootloader一般以纯汇编指令开始,而不应该包含任何ELF格式的文件头信息(这些信息只有特定OS才能识别)。bootstrap是bootloader的一部分,是最初级的引导,旨在初始化CPU、内存控制器、时钟、堆栈,目标是让CPU正常运作起来。我们可以认为bootloader = bootstrap program + boot image。boot image往往初始化最小OS内核,搭建网络下载通道,提供一个可以交互的命令行,以便自我更新(update boot)或下载更新系统映像(update vxWorks)。bootloader通常都分为Stage1和Stage2两个阶段,这里的bootstrap program对应Stage1,boot image则对应Stage2。下面从代码构成角度入手,阐述VxWorks下的bootstrap program和boot image的含义。在vxWorks中,若含有bootlader(即下文提到的Boot Image + Loadable Image组合类型),则bootstrap program主要是指romInit.s+bootInit.c,boot image主要是指有bootConfig.c、sysAlib.s、sysLib.c以及BSP目录下的其他文件编译链接而成。通常为了节省空间,boot image部分被压缩作为数据段存储在bootstrap program之后——bootrom.bin。bootstrap program是在ROM/Flash中运行的,当然为了执行更快,其后半部分也可能拷贝到RAM中执行。很显然,bootstrap program是不能压缩的,否则无法完成自举。对于没有bootloader的引导型映像(即下文提到的ROM-based Image类型,vxWorks_rom*.bin),其固化在ROM/Flash的第一部分bootstrap program可能有romInit.s+romStart.c组成,后面无boot image,紧随其后的为vxWorks映像(可能被压缩)。2 vxWorks的bootrom类型bootrom的类型前缀或后缀说明bootrom压缩的bootrom映像(除bootstrap代码外)bootorm_uncmp非压缩的bootrom映像bootrom_resROM驻留型的bootrom映像无后缀ELF可执行文件格式.hexMotorola S-record文件格式.bin裸的二进制格式(一般烧到ROM/Flash零地址处)3 引导流程概述系统上电后,CPU开始从预先安排的地址上开始执行一段指令,这段指令的作用首先是将可执行程序所需的最小环境搭建起来。这个初始化过程包括初始化CPU、内存控制器及各种必需输入/输出设备、磁盘控制器等等。以X86体系结构来说,需要初始化CPU、北桥、南桥,常说的B

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档