一,启动顺序的一些概念
上电启动Vxworks image发生事件的顺序
处理器跳到ROM或Flash中的Boot-strap程序的起点,主要作用
关闭中断(来自CPU内部)
初始化目标内存
装载要运行的VxWorks Iamge segment
Jumps to code to place target in quiet state
启动顺序----Loadable VxWorks image
bootstrap n.【自】自展(指把已能运行的语言编译程序作为工具来写所要实现的编译程序); 引导
从ROM或Flash 启动代码,自展代码执行,同时加载代码段的数据段,到RAM
具体如下:
boot code compressed-decompression during copy
boot code uncompressed-copy
boot code is ROM-resident-copy data segment only
执行这段启动代码,加载Vxworks镜像文件到RAM,跳转到VxWorks的入口点
system initialization code statically linked into loaded VxWorks
iamge executes and completes initialization
启动顺序---VxWorks的初始化
以下过程
准备硬件环境
初始化Wind kernel并开始之
Spawn a tast to complete system initialization
系统初始化的工作主要完成对支持最终用户的特性的支持同时执行最终
用户的应用程序
二,系统启动的详述
VxWorks image运行的两种方式
Rom中运行,只复制data段到低地址,节省内存
RAM中运行,全部复制,消耗内存,
需要调用sysInit()函数,该函数在RAM中运行的VxWorks
中初始化RAM,这也是两者区别
注:三种VxWorks的image类型
1. Loadable Images:由Boot-ROM引导通过网口或串口下载到RAM
2. ROM-based Images(压缩/没有压缩):即将Image直接烧入ROM,运行时
将Image拷入RAM中运行。
3. ROM-Resident Images:Image的指令部分驻留在ROM中运行,仅将数据段
部分拷入RAM。
另外一种boot iamge
Boot Image:包含一段叫做BootStrap Programs的程序+一
段ROM BOOT Program程序。
1)ROM中运行VxWorks
VxWorks在ROM中运行,即写入ROM中的VxWorks是非压缩的,不需要
解压,系统直接跳到ROM的首地址,运行VxWorks,
注意:这种运行方式并不支持所有的主板,使用时查主板手册
文件romInit.s中的romInin()---