vmware 虛擬機上裝vxwoks5.5全過程

vmware 虛擬機上裝vxwoks5.5全過程  

2011-06-22 10:06:51|  分類: VMware相關|舉報|字號 訂閱html

 
 

最近在學習vxworks,要在vmware虛擬的基於Pentium處理器上運行Vxworks,因而上參照網上大牛的文檔,卻在一些關鍵的地方過不去,因而普遍搜資料,費好些功夫終於把vxworks順順當當地請上了虛擬機。爲避免初入vxworks界的同仁走一樣彎路,決定把前先後後須要注意的地方都寫下來,順便也作個記念。shell

總的過程分爲如下幾步:windows

一、編譯網卡驅動。服務器

二、修改一些文件。app

三、編譯bootrom並放到啓動盤裏去。tornado

四、編譯vxWorks鏡像。工具

五、用FTP把vxWorks鏡像傳到虛擬機裏面去。學習

六、配置target server,在主機上調試目標板應用程序。開發工具

我tornado安裝的目錄是:E:\tornado2.2\......(我第一次裝tornado2.2的時候沒有把數字2.2帶上,教訓是:編譯bootram的時候通不過。)ui

具體步驟以下:

裝tornado,這個就不用說了。

下載一個RamDiskNT裝上,打開後能夠設置軟驅,保存,重啓機子,電腦裏就有軟驅(A:)了。

1、編譯網卡驅動

    去http://www.amd.com/us-en/ConnectivitySolutions/ProductInformation/0,,50_2330_6629_2452^2454^2488,00.html網上 下載驅動:x86 END Driver for VxWorks。 雙擊下載的文件,不停的下一步直到完成,把C:\pcnet\vxworks_end目錄下的ln97xEnd.tar1.gz文件解壓縮,獲得ln97xEnd.tar文件,再解壓縮,獲得target文件夾,把這個target文件夾放到E:\tornado2.2目錄下。提示覆蓋的時候點ok。

單擊windows系統的開始菜單,在「運行」裏輸入「cmd」打開控制檯程序。

輸入:E:\tornado2.2\host\x86-win32\bin\ torVars.bat;

輸入:cd /D E:\tornado2.2\target\src\drv\end目錄,運行:

      make CPU=PENTIUM   tool=gnu ln97xend.o (這一步會出現重複提示,不要管它,它本身會結束。耐心點,不然驅動編譯不徹底)

      這一步會在E:\tornado2.2\target\src\drv\end目錄下生成ln97xend.o文件。

輸入:cd E:\tornado2.2\target\lib\pentium\PENTIUM\common目錄,並將上一步生成的文件ln97xend.o複製到此目錄下。備份此目錄下的

文件libdrv.a; 運行命令arpentium -d libdrv.a ln97xEnd.o,刪除libdrv.a中原有的ln97xEnd模塊,而後再運行命令: arpentium -ra iOlicomEnd.o libdrv.a ln97xEnd.o。

2、修改文件

打開文件:E:tornado2.2\target\config\pcPentium\config.h文件。

找到/*default boot line */那行,修改預處理條件CPU == PENTIUM分支下的定義以下: "lnPci(0,0)cherish:d:\\vxWorks h=192.168.100.145 e=192.168.100.14 u=target pw=vxworks tn=target"(我是這樣設置的)

lnPci(0,0)指定了使用第0個網卡和第0個處理器

cherish是個人計算機名。

d:\\vxWorks是存放操做系統鏡像的路徑,後面講用FTP傳送的時候還將提到。

h=192.168.100.145 h後面跟的ip來自於主機網卡。

e=192.168.100.14   這個ip是給目標板用的,和上面的ip要在同一個網段內,且它不能和主機所在的局域網的其餘主機的ip衝突。

u=target 即:用戶名,後面ftp傳送的時候也要用到。可隨便設置

pw=vxworks 和用戶名對應的密碼,後面ftp傳送的時候也要用到。可隨便設置

tn=target 是目標板名字。可隨便設置

再找到network driver options 那段文字,這是有關網卡驅動的宏定義的。這些宏裏面,只要保證INCLUDE_END宏和 INCLUDE_LN_97X_END是定義狀態,其它宏是未定義的就能夠了。

再找到INCLUDE_PC_CONSOLE 文字,把這個宏改爲定義態。

這個文件就修改完了,保存。

 

打開文件:E:\tornado2.2\target\config\pcPentium\sysLn97xEnd.c。找到memory-mapped IO base文字,

把前面的參數由pciRsrc[endUnit].bar[1]修改成NONE。 保存。

   3、編譯bootrom並放到啓動盤裏去。

打開Tornado開發工具,在Build菜單下選擇Build Boot ROM。

在BSP列表中選擇pcPentium,而在Image to build列表中分別選擇bootrom和gnu。完成選擇後,點擊OK按鈕就開始引導程序的編譯了。編譯

產生的文件bootrom將保存在E:\tornado2.2\target\config\pcPentium目錄下。

輸入 cd E:\tornado2.2\target\config\pcPentium

輸入 mkboot a: bootrom。 這樣軟驅(a:)裏就有啓動虛擬機的代碼了。

4、編譯vxworks鏡像。

建立一個「bootable VxWorks image」的工程;

選擇您須要的VxWorks組件。在這個例子中咱們選擇了兩個重要的組件:Telnet server 和 Target shell 。前者使咱們能夠經過Telnet協議登陸到VxWorks操做系統中;後者則可讓咱們經過命令行控制VxWorks系統。完成選擇後就編譯操做系統。把編譯好的操做系統鏡像放在D:\ 盤下(這由 default boot line 參數決定的)。

5、用FTP把vxWorks鏡像傳到虛擬機裏面去

運行vmware,創建一個虛擬機。大多數才用默認設置,只有在選擇操做系統的時候選「other」。ethernet的鏈接方式選擇默認的bridge。

打開tornado2.2自帶的ftp server   選擇「Security」菜單下的「Users/Rights」子菜單,

先要把自帶的target用戶名刪掉:具體這麼幹:把user下拉列表框點開,單擊target,單擊delete。 (這是default boot line 的參數決定的)

具體這麼幹:單擊「新建 」,輸入用戶名target(這是default boot line 的參數決定的),密碼vxworks。路徑寫D:\(這也是default boot line 決定的)。而後點done。這樣作是在告訴主機,虛擬機將用target用戶名和主機通訊。

爲了便於調試,咱們還要打開FTP Server的日誌功能。選擇「Logging」菜單下的「Logging Options」子菜單,彈出以下對話框,其中除了

「Winsock Calls」外,讓其餘選項全都處於開啓狀態。

保持FTP Server窗口處於打開狀態(這樣FTP服務器就處於運行狀態) 。

啓動虛擬機,虛擬就能從a盤啓動,等待7秒後,虛擬機用ftp 從主機加載vxWorks操做系統。加載完成後,在虛擬機的vxWorks操做系統環境下輸入i命令能夠看到一些任務。

6、配置target server,在主機上調試目標板應用程序。

配置target server 以前,把vmware軟件的ethernet 屬性設爲 host-only。不然target server鏈接不上(我在這卡了半天)。

改屬性後就能夠在主機的控制檯窗口下ping 目標板ip 了(這裏是192.168.100.14,由 default boot line參數決定)。如能ping通,說明主機和虛擬機已經連通。

打開Tornado開發環境,選擇「Tools->Target Server->Configure」菜單,

在「Description」中任意填寫一個名字,如「abcd」;在「Available Back」中選擇「wdbrpc」,並在下面的IP地址框中填寫目標機

的IP地址,這裏是「192.168.100.14。由(DEFAULT_BOOT_LINE參數決定);將「Target Server Properties」下拉框更改至「Core File

and Symbols」,並在「File 」一項中選擇映象的完整路徑,這裏是「D:\vxWorks」(由DEFAULT BOOT LINE參數決定)。

點擊「Launch」按鈕,就能夠啓動Target Server了。

再回到Tornado開發環境,在工具條上的Target Server下拉框列表中選擇[email=「192.168.100.14@your_host_name]「192.168.100.14@your_host_name[/email]」。這時您會發現工具條中一些

原先處於「禁用」狀態的工具按鈕,如今都已經處於「激活」狀態了。

如今能夠編譯一個應用程序,新建應用程序工程,toolchain 那選PENTIUMgnu。添加c源文件

如:#include "vxworks.h"

#include "timexLib.h"

#include "stdio.h"

void test()

{

int i=0;

while(i<100)

{

i++;

printf("%d\n",i);

}

printf("%d\n",i);

}

編譯,下載。再打開tornado2.2下的shell,運行test。就能夠在虛擬機上看結果了,還能夠調試。

轉載於:http://xingpenghe.blog.163.com/blog/static/4320699820102280181838/

相關文章
相關標籤/搜索