使用Platform Builder配置Windows CE操作系統(tǒng)
3.2 Makeimg.exe工具
生成映像文件NK.BIN是平臺(tái)創(chuàng)建過(guò)程的最后一步,也是配置Windows CE的最終目標(biāo)。Makeimg.exe使用全部配置文件把目標(biāo)模塊和文件合并成一個(gè)惟一的Windows CE映像文件NK.BIN。圖1所示為NK.BIN的生成過(guò)程。
Makeimg生成NK.BIN的具體步驟:
①全并配置文件:所有的.BIB文件合并成CE.BIB。CE.BIB包含映像NK.BIN中的所有文件;所有.REG文件合并成REGINIT.INT;所有.DAT文件合并在修改配置文件時(shí),一定要注意CE.BIB、REGINIT.INI、INITOBJ.DAT、INITDB.INI是是間文件,修改這些文件不能配置Windows CE。
②將REGINIT.INI文件壓縮成一個(gè)二進(jìn)制文件DEFAULT.FDF。
③根據(jù)環(huán)境變量COUNTRY的設(shè)置,替換模塊中的資源,使Windows CE映像滿(mǎn)足特定語(yǔ)言的需要,最后生成二進(jìn)制映像文件NK.BIN。
4 修改配置文件添加RTL8139網(wǎng)卡驅(qū)動(dòng)
由于Windows CE具有完全不同于其它Windows操作系統(tǒng)的內(nèi)核,在其它操作系統(tǒng)上運(yùn)行的設(shè)備驅(qū)動(dòng)程序不能在Windows CE上直接運(yùn)行。原設(shè)備驅(qū)動(dòng)程序代碼必須經(jīng)過(guò)適當(dāng)修改或者全部重寫(xiě)以后才能在Windows CE系統(tǒng)上運(yùn)行。Windows CE支持2種類(lèi)型的設(shè)備驅(qū)動(dòng)程序;本機(jī)設(shè)備驅(qū)動(dòng)程序和流接口設(shè)備驅(qū)動(dòng)程序。本機(jī)設(shè)備驅(qū)動(dòng)程序通常與基于Windows CE的目標(biāo)平臺(tái)有著緊密的連接,而且每種本機(jī)設(shè)備驅(qū)動(dòng)程序有精確的和特殊的目標(biāo)的,這部分驅(qū)動(dòng)程序一般由原始設(shè)備制造商(OEM)提供。流接口設(shè)備驅(qū)動(dòng)程序是在用戶(hù)一級(jí)的動(dòng)態(tài)鏈接庫(kù)(DLL),用于驅(qū)動(dòng)可安裝的外圍市長(zhǎng)。RTL8139網(wǎng)卡驅(qū)動(dòng)程序是流接口設(shè)備驅(qū)動(dòng)程序。使用Platform Builder或者Embedded Visual C++ 3.0生成RTL8139網(wǎng)卡驅(qū)動(dòng)程序RTL8139.DLL.將(_FLATRELEASEDIR)中,分別修改Platform.BIB和Platform.REG。
①向Platform.BIB文件中添加下列語(yǔ)句:
MEMORY
RTL8139 8090000 00010000 RESERVED
MODULES
Rtl8139.dll $(_FLARTELEASEDIR).dll NK SH
②向Platform.REG中添加下列語(yǔ)句:
[HKEY_LOCAL_MACHINE]
“DisplayName”=“Realtek RTL8139 based Fast
Ethernet Driver”
“Group”=“NDIS”
“ImagePath” = “rtl8139.dll”
[HKEY_LOCAL_MACHINE]
“Route” = “Rmulti_sz: TL81391”
[HKEY_LOCAL_MACHINE]
“DisplayName” = “Realtek RTL8139 based Fast Ethernet Driver”
“Group” = “NDIS”
“ImagePath” = “rtl8139.dll”
[HKEY_LOCAL_MACHINE]
“BusNumber”= dword:0
“BusType”=dword:5
“ScanMethod”=dword:0
“SharedInterrupt”= dword:1
“PhysicalAddressBase”=dword:001a0000
[HKEY_LOCAL_MACHINE]
“EnableDHCP”=dword:0
;MULTI_SZ類(lèi)型
“DefaultGateway”=“”
;0代表廣播地址(或者255.255.255.255)
“UseZerBroadcast”=dword:0
;NULTI_SZ類(lèi)型,IP地址
“IpAddress”=“202.2.4.77.16”
;MULTI_SZ類(lèi)型,上面IP地址的子網(wǎng)掩碼
“Subnetmask”=“255.255255.0”
[HKEY_LOCAL_MACHINE]
“Bind”=multi_sz:“RTL81391”
③Makeimg生成NK.BIN
在命令提示窗口輸入Makeimg命令,生成新的Windows CE映像NK.BIN。下載NK.BIN到目標(biāo)平臺(tái),通過(guò)以太網(wǎng)電纜直接連接開(kāi)發(fā)工作站網(wǎng)卡和目標(biāo)平臺(tái)的RTL8139網(wǎng)卡。FRTL8139網(wǎng)卡的IP地址必須和開(kāi)發(fā)工作站的IP地址在同一子網(wǎng)中,這樣,在開(kāi)始工作站運(yùn)行ping命令時(shí)才會(huì)有響應(yīng)。
5 總結(jié)
微軟Windows CE Platform Builder 3.0集成開(kāi)發(fā)環(huán)境包含一系列開(kāi)發(fā)工具、上下文相關(guān)菜單、工具欄和快捷鍵。Platform Builder創(chuàng)建、測(cè)試、裁剪Windows CE的平臺(tái)和組件。熟練使用Platform Builder提供的配置文件和開(kāi)發(fā)調(diào)試工具可以快速定制適合目標(biāo)平臺(tái)的Windows CE操作系統(tǒng),縮短平臺(tái)開(kāi)發(fā)周期。適當(dāng)修改和設(shè)置Platform Builder的配置文件.BIB、.REG、.DAT、.DB可以裁剪和添加相關(guān)組件,正確配置各種設(shè)備驅(qū)動(dòng)程序。Windows CE一般應(yīng)用于特定的嵌入式系統(tǒng)中,在許多情況下需要向目標(biāo)平臺(tái)添加外部設(shè)備和設(shè)備驅(qū)動(dòng)程序。本文通過(guò)修改Platform.BIB和Platform.REG配置文件在Windows CE中加入RTL8139網(wǎng)卡驅(qū)動(dòng)程序。開(kāi)發(fā)Windows CE的軟硬件環(huán)境建立之后,把工作站通過(guò)插入到目標(biāo)平臺(tái)的PCI插槽中,開(kāi)始工作站通過(guò)插在目標(biāo)臺(tái)上的NE2000兼容網(wǎng)卡下載映像文件NK.BIN到目標(biāo)平臺(tái)。Windows CE下常啟動(dòng)以后,網(wǎng)絡(luò)電纜改成和RTL8139網(wǎng)卡連接。開(kāi)發(fā)工作站和目標(biāo)平臺(tái)之間使用PPP協(xié)議正常通信。
評(píng)論