新聞中心
Windows XP Embedded 中的組件開發(fā)通常分為以下幾類:
1. 設(shè)備驅(qū)動(dòng)程序組件開發(fā);
2. 應(yīng)用程序組件開發(fā);
3. 自定義殼程序組件開發(fā);
4. 其他組件開發(fā);

本帖將以Penmount串口觸摸屏為例,演示和說(shuō)明如何把該設(shè)備的驅(qū)動(dòng)制作成一個(gè)可以集成在XPE開發(fā)環(huán)境下的一個(gè)設(shè)備組件。制作該驅(qū)動(dòng)的主要步驟有以下五步:
1. 設(shè)備驅(qū)動(dòng)的正確安裝:
2. 設(shè)備驅(qū)動(dòng)備份:
3. 導(dǎo)入設(shè)備驅(qū)動(dòng)文件;
4. 設(shè)置和發(fā)布該組件;
5. 添加到XPE鏡像文件中;
需要準(zhǔn)備的軟件:
- Windows優(yōu)化大師或者智能驅(qū)動(dòng)備份軟件;
- Penmount串口觸摸屏驅(qū)動(dòng)文件;
- Windows XP Embedded 組件設(shè)計(jì)器(Component Designer);
下面詳細(xì)說(shuō)明該組件的開發(fā)步驟:
1. 設(shè)備驅(qū)動(dòng)的正確安裝:
首先在目標(biāo)機(jī)上安裝好Penmount串口觸摸屏驅(qū)動(dòng)文件,該文件是以Setup.exe方式進(jìn)行安裝的,如下圖所示:
按照默認(rèn)設(shè)置安裝好觸摸屏驅(qū)動(dòng)程序,這時(shí),就可以通過(guò)開始菜單進(jìn)行觸摸屏的校準(zhǔn),同時(shí)用手點(diǎn)擊觸摸屏可以感覺(jué)到鼠標(biāo)的移動(dòng)。如下圖所示:
注意,如果觸摸屏驅(qū)動(dòng)提供了.inf文件的安裝方式,則可通過(guò)在設(shè)備管理器中進(jìn)行驅(qū)動(dòng)程序的安裝,如能安裝成功,第二步可以略過(guò);
2. 設(shè)備驅(qū)動(dòng)備份:
通過(guò)Windows優(yōu)化大師或者智能驅(qū)動(dòng)備份,將目標(biāo)機(jī)中的Penmount串口觸摸屏驅(qū)動(dòng)文件備份出來(lái),如下圖所示:
注意:除了備份設(shè)備驅(qū)動(dòng)配置文件(PenMount.inf),還需要把inf需要的相關(guān)驅(qū)動(dòng)文件(.sys, .dll)備份出來(lái),同時(shí)把需要的輔助應(yīng)用程序也備份出來(lái)。
3. 導(dǎo)入設(shè)備驅(qū)動(dòng)文件;
將備份出來(lái)的設(shè)備驅(qū)動(dòng)文件整理在一個(gè)文件夾中,把該文件夾從目標(biāo)機(jī)拷貝到開發(fā)機(jī)上,同時(shí)打開組件設(shè)計(jì)器(Component Designer),如下圖所示:
通過(guò)菜單File->Import..導(dǎo)入備份出來(lái)的PenMount.inf驅(qū)動(dòng)配置文件,如下圖所示:
導(dǎo)入完成后,觀察導(dǎo)入日志,出現(xiàn)紅色錯(cuò)誤信息 的需要把問(wèn)題排除,重新導(dǎo)入,一般問(wèn)題出現(xiàn)主要有三個(gè)方面:
(1) 備份出來(lái)的驅(qū)動(dòng)文件中,缺少inf文件中需要的某些驅(qū)動(dòng)文件(.sys, .dll),根據(jù)提示的信息,在目標(biāo)機(jī)上進(jìn)行查找,把缺少的文件拷貝到備份的文件夾中再進(jìn)行導(dǎo)入;
(2) 備份出來(lái)的驅(qū)動(dòng)文件中,缺少inf文件中需要的其他驅(qū)動(dòng)文件(.inf),如下圖:
根據(jù)提示的信息,在目標(biāo)機(jī)上進(jìn)行查找,把缺少的驅(qū)動(dòng)文件拷貝到備份的文件夾中再進(jìn)行導(dǎo)入;
(3) 注冊(cè)表信息錯(cuò)誤,XPE中沒(méi)有目標(biāo)機(jī)上具有的注冊(cè)表鍵值,根據(jù)提示的信息,手動(dòng)的在組件中創(chuàng)建相應(yīng)的注冊(cè)表文件夾及鍵值;
注意:出現(xiàn)的黃色嘆號(hào)警告信息可以忽略,不會(huì)影響組件的功能;
4. 設(shè)置和發(fā)布該組件;
(1) 導(dǎo)入inf文件成功后,為了便于區(qū)分,首先將組件的名稱更改為PenMount USB,如下圖所示:
(2) 設(shè)置該組件的源文件路徑,鼠標(biāo)右鍵點(diǎn)擊Repositories節(jié)點(diǎn),選擇Add Repository,在Repository Properties中設(shè)置組件倉(cāng)庫(kù)的名稱(Penmount Files)及源文件所在的路徑。如下圖所示:
(3) 設(shè)置完成后,在Component Properties上設(shè)置組件的Repository為剛才新建的組件倉(cāng)庫(kù)。如下圖所示:
(4) 設(shè)置組件路徑和分類,點(diǎn)擊組件下Group Memberships節(jié)點(diǎn),設(shè)置組件所屬的分類路徑,如下圖所示:
該設(shè)置代表了該組件在目標(biāo)設(shè)機(jī)器中的組件樹中的位置,例如該組件的位置在:Hardware->Devices->Human Interface Devices節(jié)點(diǎn)下。
(5) 設(shè)置組件需要的文件及安裝在目標(biāo)機(jī)下的目錄路徑,點(diǎn)擊組件下的Files節(jié)點(diǎn),可以看到驅(qū)動(dòng)文件已經(jīng)存在于該節(jié)點(diǎn)下,并默認(rèn)的設(shè)置了在目標(biāo)機(jī)上的安裝目錄。如果我們需要手動(dòng)的添加相關(guān)的文件,例如觸摸屏校準(zhǔn)程序等輔助應(yīng)用程序,則需要手動(dòng)進(jìn)行添加并設(shè)置目標(biāo)機(jī)上所在的路徑。如下圖所示,在列表空白處點(diǎn)擊鼠標(biāo)右鍵,選擇探出菜單中的Add->Files進(jìn)行文件添加:
在彈出的窗體中選擇需要添加的文件和安裝在目標(biāo)機(jī)上的路徑,如下圖所示:
(6) 如果驅(qū)動(dòng)需要相關(guān)的注冊(cè)表信息支持,則需要手動(dòng)添加注冊(cè)表信息,選擇組件下的Registry Data節(jié)點(diǎn),在列表的空白處點(diǎn)擊鼠標(biāo)右鍵,然后選擇Add->Registry Data,如下圖所示:
注意:添加注冊(cè)表鍵值的時(shí)候,同時(shí)要添加這個(gè)鍵值所在的注冊(cè)表目錄,否則鍵值添加將會(huì)失??;
(7) 組件下的Component or Group Dependency一項(xiàng)主要用來(lái)設(shè)置該組件需要依賴或關(guān)聯(lián)的其他組件支持,例如,該觸摸屏為USB接口,則需要相關(guān)的USB驅(qū)動(dòng)支持,如下圖所示:
(8) 完成組件相關(guān)的設(shè)置后,鼠標(biāo)點(diǎn)選組件名稱,使焦點(diǎn)停留在該組件的名稱上,然后通過(guò)菜單Edit->Release Component來(lái)發(fā)布該組件。如下圖所示:
(9) 發(fā)布完成后,該組件相關(guān)屬性則變灰不可更改。點(diǎn)擊菜單中Files->Save保存組件,如下圖:
(10) 完成組件的開發(fā)后,最后需要將該組件導(dǎo)入到組件數(shù)據(jù)庫(kù)中,導(dǎo)入方法為點(diǎn)擊菜單Tools-> Component Database Manager,打開組件數(shù)據(jù)庫(kù)管理器,選擇Import按鈕,如下圖所示:
(11) 在彈出的界面中選擇第(9)步中保存的組件路徑,然后點(diǎn)擊Import進(jìn)行導(dǎo)入。導(dǎo)入成功后會(huì)出現(xiàn)如下圖的提示信息:
如果導(dǎo)入失敗,首先觀察導(dǎo)入日志中提示的錯(cuò)誤信息,其次檢查:
- 數(shù)據(jù)庫(kù)引擎是否打開;
- 開發(fā)機(jī)是否接入局域網(wǎng),是否能夠ping通本機(jī);
- \\本機(jī)名或本機(jī)IP\Repositories是否能夠正常訪問(wèn);
- Repositories目錄是否設(shè)置為可寫入共享;
- 組件的Repositories路徑是否設(shè)置正確;
5. 添加到XPE鏡像文件中
在導(dǎo)入組件成功后,打開目標(biāo)設(shè)計(jì)器(Target Designer),查找你導(dǎo)入的組件(PenMount USB),你將可以在Hardware->Devices->Human Interface Devices節(jié)點(diǎn)下找到這個(gè)組件,同時(shí)雙擊該組件,就可以把它添加到你的XPE工程中去了。如下圖所示:
至此,關(guān)于設(shè)備驅(qū)動(dòng)組件的開發(fā)介紹基本完成,選擇PenMount觸摸屏作為這個(gè)教程的用例是因?yàn)樵擈?qū)動(dòng)組件具有一定的代表性,當(dāng)然,在實(shí)際開發(fā)工作中還有很多的問(wèn)題,需要我們具體問(wèn)題具體分析。
【編輯推薦】
- 在VMWare環(huán)境中調(diào)試Windows XP Embedded
- 如何大規(guī)模的部署和生產(chǎn)XPE操作系統(tǒng)映像
- 在構(gòu)建好XPE操作系統(tǒng)上增加EWF功能
分享文章:Windows XP Embedded組件開發(fā)詳解
文章轉(zhuǎn)載:http://fisionsoft.com.cn/article/ccsoidg.html


咨詢
建站咨詢
