VxWorks 基本启动方式
按VxWorks内核的下载形式,VxWorks启动总体上分为两种方式:下载型和ROM 型。
@下载型启动方式:bootrom+VxWorks。此时bootrom 被烧入ROM 中,而VxWorks内核映像通过串口或者网口下载到系统RAM中。
@ROM型启动方式:VxWorks直接从ROM中运行,不借助于bootrom引导程序。此时VxWorks内核映像被烧入ROM 中,无bootrom程序。
对于不同的启动方式,VxWorks操作系统内核映像的组成也略有不同。
bootrom引导程序一般称为VxWorks boot Image。该程序由如下文件创建而成:romInit.s、bootInit.c、sysALib.s、sysLib.c、bootConfig.c、设备驱动程序。
虽然bootrom 中包含sysALib.s 文件,但是并未使用其中定义的任何函数,这与ROM形式的VxWorks内核映像类似。
VxWorks内核映像一般被称为VxWorks Application Image。VxWorks内核映像是系统启动后实际运行的程序(操作系统本身)。对于下载形式的VxWorks 内核映像,由于需要对硬件环境进行重新初始化(即不依赖于romInit 函数所做的初始化工作),所以最先需要运行sysInit函数进行重新初始化,这些初始化工作与romInit函数基本相同,但是不再需要对内存控制器进行重新初始化,这是sysInit 区别于romInit 函数之处。sysInit 最后跳转到usrInit 函数。而对于ROM方式直接运行的VxWorks内核映像,由于romInit.s函数此时是作为内核映像的一部分,所以就省去了对sysInit函数的调用。下载型和ROM型在VxWorks内核文件的构成上有一些差别。
@下载形式的VxWorks内核映像组成:sysALib.s、sysLib.c、usrConfig.c、设备驱动程序文件。
@ROM 形式的VxWorks 内核映像组成:romInit.s、bootInit.c、sysALib.s、sysLib.c、usrConfig.c、设备驱动程序文件。
虽然ROM 形式的VxWorks 内核映像并未使用sysALib.s 文件中的函数(sysInit),但是该文件仍然作为一部分存在于该VxWorks内核映像中。当然用户可以修改defs.bsp 文件中的MACH_DEP 宏定义,将sysALib.o 从如下形式定义中去掉即可。
MACH_DEP = sysALib.o sysLib.o $(MACH_EXTRA) $(ADDED_MODULES)
阅读(2356) | 评论(0) | 转发(1) |