VMware構(gòu)建VxWorks模擬仿真開發(fā)環(huán)境
編譯生成bootrom后,還要?jiǎng)?chuàng)建一個(gè)VxWorks映象(image),也就是VxWorks操作系統(tǒng)本身的代碼,步驟為:
(1) 創(chuàng)建一個(gè)“bootable VxWorks image”的工程,BSP 選擇pentium;

(2) 選擇需要的VxWorks組件
如 圖10,在這個(gè)例子中我們需要包括兩個(gè)重要的組件:Telnet server 和 Target shell。前者使我們可以通過Telnet協(xié)議登錄到VxWorks操作系統(tǒng)中;后者則可以讓我們通過命令行控制VxWorks系統(tǒng)。另外,需要把所有 C++相關(guān)的選項(xiàng)都包含進(jìn)去。

完 成選擇后,即可開始編譯程序。到此我們已經(jīng)生成了VxWorks的系統(tǒng)引導(dǎo)程序和運(yùn)行時(shí)的代碼映象。在每次修改完系統(tǒng)的配置信息(如:config.h) 后,都要重新創(chuàng)建一個(gè)工程來編譯VxWorks映象。將生成的名為“vxworks”的文件復(fù)制到D:下。這個(gè)路徑是由上面我們所設(shè)置的 DEFAULT_BOOT_LINE宏中的路徑參數(shù)決定的,必須保持二者一致。
2.4 創(chuàng)建引導(dǎo)軟盤
由于目標(biāo)機(jī)從軟盤啟動(dòng),我們需要制作VxWorks引導(dǎo)磁盤,用于引導(dǎo)VxWorks操作系統(tǒng)映象。定位到C:tornado2.2targetconfigpcPentium目錄,插入已經(jīng)格式化好的軟盤,運(yùn)行:
mkboot a: bootrom
該命令將在軟盤上建立VxWorks系統(tǒng)引導(dǎo)分區(qū),并將引導(dǎo)程序復(fù)制到軟盤上。
3. 建立調(diào)試環(huán)境
3.1配置FTP服務(wù)器
宿主機(jī)上的FTP服務(wù)器用于在系統(tǒng)成功引導(dǎo)后,下載VxWorks的運(yùn)行時(shí)映象,最好使用Tornado開發(fā)環(huán)境自帶的FTP服務(wù)軟件。
如 圖11,打開Tornado FTP Server,選擇“Security”菜單下的“Users/Rights”子菜單,創(chuàng)建User Name為“target”,修改“Home Directory”為“D:”(即DEFAULT_BOOT_LINE參數(shù)中所指定VxWorks映像目錄),修改用戶名為“target”,對應(yīng)密 碼為“vxworks”,點(diǎn)擊“Done”按鈕完成修改,F(xiàn)TP服務(wù)就啟動(dòng)了。

為了便于觀察引導(dǎo)程序是否從FTP上下載了VxWorks映像,最好打開FTP Server的日志功能。選擇“Logging”菜單下的“Logging Options”子菜單,其中除了“Winsock Calls”外,讓其他選項(xiàng)全都處于開啟狀態(tài)。保持FTP Server窗口處于打開狀態(tài),即保證FTP服務(wù)器處于運(yùn)行狀態(tài)。
虛擬機(jī)從軟盤啟動(dòng),接下來會(huì)下載服務(wù)器上的D:vxworks映像,服務(wù)器的FTP會(huì)有相關(guān)的log,如圖12:

圖12 FTP服務(wù)器
3.2 配置target server
如 圖13,打開您的Tornado開發(fā)環(huán)境,選擇“Tools->Target Server->Configure”菜單,在“Description”中任意填寫一個(gè)名字,這里是“net00”;在“Available Back”中選擇“wdbrpc”,并在下面的IP地址框中填寫目標(biāo)機(jī)的IP地址,這里是“192.168.80.254”(由 DEFAULT_BOOT_LINE參數(shù)決定);將“Target Server Properties”下拉框更改至“Core File and Symbols”,并在“File Path”一項(xiàng)中選擇您的映象的完整路徑,這里是“D:VxWorks”(由DEFAULT_BOOT_LINE參數(shù)決定)。
圖13 配置Target Server
完成以上兩項(xiàng)配置,如果目標(biāo)機(jī)已經(jīng)啟動(dòng),點(diǎn)擊“Launch”按鈕,就可以啟動(dòng)Target Server了。
再回到Tornado開發(fā)環(huán)境,在工具條上的Target Server下拉框列表中選擇“192.168.80.169@host”。這時(shí)您會(huì)發(fā)現(xiàn)工具條中一些原先處于“禁用”狀態(tài)的工具按鈕,現(xiàn)在都已經(jīng)處于“激活”狀態(tài)了。
試一試,我們打開TShell,并運(yùn)行“i”命令察看目標(biāo)機(jī)上當(dāng)前運(yùn)行的任務(wù),效果如圖14:

圖14 在TShell中運(yùn)行命令
4. 編寫和調(diào)試應(yīng)用程序
現(xiàn)在,編寫應(yīng)用程序的所有條件已經(jīng)完全具備了。我們來編寫一個(gè)簡單的應(yīng)用。
如圖15,建立一個(gè)名為“test”的可下載的應(yīng)用程序模塊:
圖15建立可下載的應(yīng)用程序模塊
如圖16,注意工具鏈的選擇,應(yīng)該為PENTIUMgnu:
圖16 選擇PENTIUMgnu工具鏈
這個(gè)時(shí)候工程中還一個(gè)文件都沒有,我們編寫一個(gè)簡單的程序:
以下是引用片段:
#include
void test(void)
{
int i = 0;
while(1)
{
printf (%dt,i);
i++;
if(i==10000)
{
break;
}
}
}
編譯生成了test.out,下載到目標(biāo)板,在TShell中運(yùn)行test函數(shù),效果如圖17。

評論