1. 程式人生 > >VxWorks在虛擬機器中啟動教程1

VxWorks在虛擬機器中啟動教程1

製作軟盤引導盤

        引導盤的意思就是,在沒有安裝系統機器上引導執行一段程式,在這裡要執行程式是BootRom。這一部分將實現通過VMware虛擬機器模擬VxWorks硬體環境,通過虛擬軟碟機模擬軟盤來實現引導盤的製作。

BootRom的含義

 

        BootRom是VxWorks作業系統整合的啟動程式碼,通過它可以和Tornado整合的一些工具進行VxWorks核心的下載和除錯工作。在Tornado整合開發環境的Build選單中可以直接編譯BootRom。

        BootRom程式主要有以下幾個功能:

 

  • 通過串列埠下載作業系統映像。
  •  通過串列埠升級自身映像。
  • 通過串列埠下載系統配置檔案及系統資訊檔案。
  • 載入作業系統映像,使其正常啟動。

安裝VMware和RamDiskNT

 

 

        這裡使用的VmWare版本為9.0.1,RamDiskNT版本為1.5。VMware可以虛擬VxWorks硬體開發環境,RamDiskNT可以虛擬軟碟機來實現軟盤啟動的實驗。其安裝過程如同Windows其它應用程式的,這裡就不總結了。

        1.配置VxWorks硬體環境

        開啟VMware軟體,單擊File | New Virtual Machine命令建立一個名為Other的新虛擬機器。關鍵步驟的截圖如下圖所示,其它均使用預設設定。

我們選擇配置方式為定製方式,如圖2.1所示。

 

圖2.1  選擇配置方式

        現在只需要配置環境不需要安裝系統,所以選擇暫不安裝系統,如圖2.2所示。

圖2.2  系統安裝

        VMware中沒有提供VxWorks系統的選擇,所以系統選擇Other版本也選擇Other,如圖2.3所示。

 

圖2.3  選擇系統

        2.虛擬一個軟碟機

        開啟RamDiskNT軟體會提示是否註冊,這裡選擇Register Later即可。開啟RamDiskNT後,選擇Disk Type為1.44MB Floppy;Driver Letter為A;勾選Start driver at boot然後單擊Start按鈕即可。其具體步驟和設定,如圖2.4所示。

圖2.4  建立虛擬軟碟機

        按照圖2.4所示的配置設定好RamDiskNT後,單擊OK按鈕即完成了虛擬軟碟機的建立。重新啟動後,建立的虛擬軟碟機才會生效。

虛擬軟碟機引導BootRom

 

        要想實現虛擬軟碟機引導BootRom,首先要通過Tornado整合開發環境編譯BootRom,然後通過Tornado提供的命令將BootRom匯入到虛擬軟碟機區。

        1.製作引導盤

        (1)編譯BootRom

        開啟Tornado 2.2整合開發環境,單擊選單項Build | Buid Boot Rom…命令。在彈出的Buid Boot Rom對話方塊中使用預設設定並單擊OK按鈕,即可完成BootRom的編譯。如圖2.5所示。

 

圖2.5  編譯BootRom

        生成的BootRom檔案可以在C:\Tornado2.2\target\config\pcPentium目錄中找到。

        (2)搭建命令環境

        製作引導盤需要通過mkboot命令完成,但是在使用該命令之前需要搭建命令環境。首先開啟命令提示符中輸入,然後輸入C:\Tornado2.2\host\x86-win32\bin\torvars.bat命令,即執行C:\Tornado2.2\host\x86-win32\bin目錄下的torvars.bat檔案。執行後結果如圖2.6所示。

圖2.6  搭建命令環境結果

 

        執行torvars.bat後,系統將會為使用者設定必要的環境變數和路徑,搭建命令環境。從而讓使用者可以使用一些Tornado所提供的命令,這些操作都將在cmd下完成。要注意,直接雙擊執行torvars.bat批處理檔案是無效的,而且每次需要使用命令都需要在cmd中執行該檔案。

        (3)製作引導盤

        在cmd中輸入cd C:\Tornado2.2\target\config\pcPentium即可進入到pcPentium目錄,因為剛剛編譯BootRom時候選的BSP驅動為pcPentium。然後,使用Tornado提供的mkboot命令將BootRom複製到軟盤,製作成引導盤。該命令為:mkboot a: bootrom。執行後如圖2.7所示。

 

圖2.7  製作引導盤

        其中a表示軟盤的碟符。該命令首先將一段簡短的載入程式寫入軟盤的引導扇區,然後將bootrom經過處理複製到軟盤中,並將其重新命名為bootrom.sys。

        2.引導虛擬機器

        在引導虛擬機器的時候需要將虛擬機器設定的軟碟機指定為A:碟符,但是往往虛擬軟碟機不能被虛擬機器檢測到,如圖2.8所示。

圖2.8  虛擬機器設定中的軟碟機

        這時,還需要使用RamDiskNT軟體來得到軟碟機的映象檔案。開啟RamDiskNT,單擊對話方塊右下角的Save Disk Image按鈕,這時在C盤就會多出一個ramdskNT.img映象檔案。用虛擬機器載入該映象檔案引導啟動能得到軟碟機啟動相同的效果。虛擬機器中的軟碟機設定,如圖2.9所示。

圖2.9  設定載入軟碟機映象檔案

        在虛擬機器設定中選擇軟碟機映象檔案並單擊OK按鈕後,在VMware軟體中單擊綠色三角箭頭按鈕啟動虛擬機器,如圖2.10所示。

 

圖2.10  引導虛擬機器結果

        其中,V1.6表示載入程式的版本,連續的’+’號表示引導的程序。根據bootrom的不同,’+’號長度也不同。

圖2.10  引導虛擬機器結果

       其中,V1.6表示載入程式的版本,連續的’+’號表示引導的程序。根據bootrom的不同,’+’號長度也不同。

        3.支援控制檯

       VxWorks 5.5預設情況下不提供控制檯的支援。如果需要支援控制檯,得修改相應BSP目錄下的config.h檔案。這裡需要修改的檔案路徑為:C:\Tornado2.2\target\config\pcPentium\config.h。開啟config.h檔案,查詢INCLUDE_PC_CONSOLE,定位到如下巨集定義:

#undef INCLUDE_PC_CONSOLE                /* PC keyboard and VGA console */

       修改#undef INCLUDE_PC_CONSOLE為#define INCLUDE_PC_CONSOLE。修改後,該巨集定義下所示:

#define INCLUDE_PC_CONSOLE                /* PC keyboard and VGA console */

       儲存修改後的config.h檔案,重新執行上面1、2段的製作引導盤和引導虛擬機器。最後結果如圖2.11所示。

 

圖2.11  支援控制檯的BootRom

       軟盤引導目標機是最簡單的辦法,也是VxWorks的預設引導辦法。當然還有其他型別的引導裝置,比如:U盤、硬碟、ROM等。