Chinaunix首页 | 论坛 | 博客
  • 博客访问: 998923
  • 博文数量: 123
  • 博客积分: 1029
  • 博客等级: 准尉
  • 技术积分: 1167
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-13 00:15
文章分类

全部博文(123)

文章存档

2014年(24)

2013年(45)

2012年(54)

分类: 嵌入式

2012-08-26 10:09:37

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)
阅读(2180) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~