VMware構(gòu)建VxWorks模擬仿真開發(fā)環(huán)境
# define PC_CONSOLE (0) /* console number */
# define N_VIRTUAL_CONSOLES (2) /* shell / application */
#endif /* INCLUDE_PC_CONSOLE */
(5)修改sysLn97xEnd.c
打開C:tornado2.2targetconfigpcPentium目錄下的sysLn97xEnd.c文件,先定位到“memory- mapped IO base”這段文字,然后將其前面的參數(shù)由pciRsrc[endUnit].bar[1]修改為NONE,保存即可,即:
以下是引用片段:
sprintf (paramStr, paramTemplate,
endUnit, /* END unit number */
NONE, /* memory-mapped IO base */
pciRsrc[endUnit].bar[0], /* IO address space base */
PCI2DRAM_BASE_ADRS, /* host PCI mem. base */
pciRsrc[endUnit].irqvec, /* IRQ vector */
pciRsrc[endUnit].irq, /* IRQ number */
LN97X_CSR3_VALUE, /* csr3 register value */
LN97X_OFFS_VALUE, /* offset */
LN97X_RSVD_FLAGS, /* flags (reserved) */
ln97xStrDesc[typeIdx] /* device description */
);
2.3 編譯Bootrom和VxWorks映像
編譯Bootrom
打開Tornado開發(fā)工具,在Build菜單下選擇Build Boot ROM,選擇BSP為pcPentium,image類型為bootrom,工具為gnu,如圖8。點(diǎn)擊OK,Bootrom就會(huì)編譯。
編譯VxWorks映像
編譯生成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ù)制到軟盤上。
評(píng)論