Vxworks的引导过程.docVIP

  • 20
  • 0
  • 约5.81千字
  • 约 7页
  • 2017-02-01 发布于重庆
  • 举报
Vxworks的引导过程

VxWorks的引导过程 此文为学习记录,非正式文档 相关术语说明如下: Boot: 引导或加载 Boot ROM : 用来存放boot程序的ROM, boot程序首先对硬件作必要的基本的始化后搬运boot程序到RAM空间。然后启动加载程序通过网口、串口或者扩展FLASH加载VxWorks系统。Boot ROM程序可看作是一个独立的系统,具有自加载功能和通过串口、网口或扩展FLASH加载VxWorks系统的功能。 RAM_HIGH_ADRS:拷贝boot ROM映像的目标地址 RAM_LOW_ADRS:VxWorks映像的起始地址: 1启动过程 以下启动过程是通过串口或者网口加载VxWorks系统的过程,并不代表所有的加载过程。 上电复位后第一条被执行的指令位置0xfff00100(针对MPC8240) 上电复位后CPU从0xfff00100取指令开始执行.这个地址位于boot ROM空间内。 完成启动所必要的初始化 设置状态字并创建一个哑堆栈(dummy stack) 2)初始化存储器接口 2. 跳到C程序的入口地址 第一个被执行的C程序是romStart(). 程序首先拷贝boot ROM内的部分boot程序到RAM空间.(我认为这以后程序都在RAM中运行)。 然后根据哑堆栈中的参数决定是否清零内存RAM(如是冷启动(cold start)则清零),再把ROM段的剩余部分拷贝到RAM 的RAM_HIGH_ADRS地址(如果ROM代码是压缩的,还要解压)。 处理器跳到RAM的入口地址 RAM_HIGH_ADRS(bootConfig.c)。 在这里执行的程序是usrInit(); 使cache无效,清零bss段,初始化向量表,进行板级初始化。 启动多任务内核 VxWorks的boot ROM本身就是一个独立的应用。到此步为止可看作是boot ROM内的这个独立系统已经被加载且运行起来了。 加载VxWorks系统 通过串口、网口或者从扩展FLASH中加载系统,VxWorks被加载到RAM的地端地址,起始地址为RAM_LOW_ADRS. 应用程序加载 各步所调用函数先后顺序如下: 上电复位——》romInit()——》romStart()——》usrInit()——》initVectBaseSet()——》sysHwInit()——》usrKernelInit() ——》kernelInit()——》usrRoot()(启动串口或者网口加载程序)——》(完成对VxWorks系统的加载) ——》sysInit()——》usrInit()——》initVectBaseSet()——》sysHwInit()——》usrKernelInit() ——》kernelInit()——》usrRoot()(和前一个usrRoot()不一样,这里启动用户程序) romInit(): 这是上电复位后首先执行的程序 (a)设置哑堆栈,初始化CPU内的寄存器,无效Cache,禁止中断; (b)保存启动类型,启动类型分为冷启动和热启动 (c)硬件初始化,主要是初始化存储器接口。 (d)调用romStart(); romStart(): 这是第一个被执行的C程序。 BootROM程序分为两个部分,第一部分是上电复位后的首先执行的程序,完成硬件的必要初始化和搬运程序到RAM,如果第二部分的程序被压缩这部分程序还包括解压程序;第二部分是Boot ROM的其余部分程序,完成加载VxWorks系统的功能。这部分程序是可被压缩的。如果第二部分程序没有被压缩,则在搬运时可把bootROM内的程序一次搬运到RAM中。下面的步骤是针对第二部分程序被压缩的情况。 完成功能如下: 搬运bootROM的第一部分程序到RAM。 如果是冷启动则需要一些存储区清0,这些存储区是除了堆栈区(为启动所设的哑堆栈)和(a)步所搬运程序覆盖的区域外的其他存储区。 解压并搬运bootROM的其余程序到RAM 跳至被解压的程序的入口点执行,即执行usrInit(); usrInit(): 这是运行在VxWorks下的第一个C程序 完成功能如下: 设置Cache模式,禁止Cache 对bss段清0 保存启动类型 调用函数intVecBaseSet()设置中断式量表基本地址 调用sysHwInit()初始化硬件到静止状态(Quiescent State),这主要是让可能产生中断的设备复位和禁止其产生中断。 调用usrKernelInit(),根据定义的的常数选择适当的初始化函数完成初始化。 调用kernelInit(),初始化多任务环境,孵化任务usrRoot(),此函数不返回。 UsrRoot(): 完成功能如下:(有些步骤根据需要选择)

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档