閱讀629 返回首頁    go 阿裏雲 go 技術社區[雲棲]


VxWorks 基本啟動方式

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)

最後更新:2017-04-03 12:55:38

  上一篇:go VxWorks 操作係統內存布局
  下一篇:go 基於嵌入式操作係統VxWorks的多任務並發程序設計(2) ――任務控製