Windows XP Embedded組件開發(fā)詳解
Windows XP Embedded 中的組件開發(fā)通常分為以下幾類:
1. 設(shè)備驅(qū)動程序組件開發(fā);
2. 應(yīng)用程序組件開發(fā);
3. 自定義殼程序組件開發(fā);
4. 其他組件開發(fā);
本帖將以Penmount串口觸摸屏為例,演示和說明如何把該設(shè)備的驅(qū)動制作成一個可以集成在XPE開發(fā)環(huán)境下的一個設(shè)備組件。制作該驅(qū)動的主要步驟有以下五步:
1. 設(shè)備驅(qū)動的正確安裝:
2. 設(shè)備驅(qū)動備份:
3. 導(dǎo)入設(shè)備驅(qū)動文件;
4. 設(shè)置和發(fā)布該組件;
5. 添加到XPE鏡像文件中;
需要準(zhǔn)備的軟件:
- Windows優(yōu)化大師或者智能驅(qū)動備份軟件;
- Penmount串口觸摸屏驅(qū)動文件;
- Windows XP Embedded 組件設(shè)計器(Component Designer);
下面詳細說明該組件的開發(fā)步驟:
1. 設(shè)備驅(qū)動的正確安裝:
首先在目標(biāo)機上安裝好Penmount串口觸摸屏驅(qū)動文件,該文件是以Setup.exe方式進行安裝的,如下圖所示:
按照默認(rèn)設(shè)置安裝好觸摸屏驅(qū)動程序,這時,就可以通過開始菜單進行觸摸屏的校準(zhǔn),同時用手點擊觸摸屏可以感覺到鼠標(biāo)的移動。如下圖所示:
注意,如果觸摸屏驅(qū)動提供了.inf文件的安裝方式,則可通過在設(shè)備管理器中進行驅(qū)動程序的安裝,如能安裝成功,第二步可以略過;
2. 設(shè)備驅(qū)動備份:
通過Windows優(yōu)化大師或者智能驅(qū)動備份,將目標(biāo)機中的Penmount串口觸摸屏驅(qū)動文件備份出來,如下圖所示:
注意:除了備份設(shè)備驅(qū)動配置文件(PenMount.inf),還需要把inf需要的相關(guān)驅(qū)動文件(.sys, .dll)備份出來,同時把需要的輔助應(yīng)用程序也備份出來。
3. 導(dǎo)入設(shè)備驅(qū)動文件;
將備份出來的設(shè)備驅(qū)動文件整理在一個文件夾中,把該文件夾從目標(biāo)機拷貝到開發(fā)機上,同時打開組件設(shè)計器(Component Designer),如下圖所示:
通過菜單File->Import..導(dǎo)入備份出來的PenMount.inf驅(qū)動配置文件,如下圖所示:
導(dǎo)入完成后,觀察導(dǎo)入日志,出現(xiàn)紅色錯誤信息 的需要把問題排除,重新導(dǎo)入,一般問題出現(xiàn)主要有三個方面:
(1) 備份出來的驅(qū)動文件中,缺少inf文件中需要的某些驅(qū)動文件(.sys, .dll),根據(jù)提示的信息,在目標(biāo)機上進行查找,把缺少的文件拷貝到備份的文件夾中再進行導(dǎo)入;
(2) 備份出來的驅(qū)動文件中,缺少inf文件中需要的其他驅(qū)動文件(.inf),如下圖:
根據(jù)提示的信息,在目標(biāo)機上進行查找,把缺少的驅(qū)動文件拷貝到備份的文件夾中再進行導(dǎo)入;
(3) 注冊表信息錯誤,XPE中沒有目標(biāo)機上具有的注冊表鍵值,根據(jù)提示的信息,手動的在組件中創(chuàng)建相應(yīng)的注冊表文件夾及鍵值;
注意:出現(xiàn)的黃色嘆號警告信息可以忽略,不會影響組件的功能;
4. 設(shè)置和發(fā)布該組件;
(1) 導(dǎo)入inf文件成功后,為了便于區(qū)分,首先將組件的名稱更改為PenMount USB,如下圖所示:
(2) 設(shè)置該組件的源文件路徑,鼠標(biāo)右鍵點擊Repositories節(jié)點,選擇Add Repository,在Repository Properties中設(shè)置組件倉庫的名稱(Penmount Files)及源文件所在的路徑。如下圖所示:
(3) 設(shè)置完成后,在Component Properties上設(shè)置組件的Repository為剛才新建的組件倉庫。如下圖所示:
(4) 設(shè)置組件路徑和分類,點擊組件下Group Memberships節(jié)點,設(shè)置組件所屬的分類路徑,如下圖所示:
該設(shè)置代表了該組件在目標(biāo)設(shè)機器中的組件樹中的位置,例如該組件的位置在:Hardware->Devices->Human Interface Devices節(jié)點下。
(5) 設(shè)置組件需要的文件及安裝在目標(biāo)機下的目錄路徑,點擊組件下的Files節(jié)點,可以看到驅(qū)動文件已經(jīng)存在于該節(jié)點下,并默認(rèn)的設(shè)置了在目標(biāo)機上的安裝目錄。如果我們需要手動的添加相關(guān)的文件,例如觸摸屏校準(zhǔn)程序等輔助應(yīng)用程序,則需要手動進行添加并設(shè)置目標(biāo)機上所在的路徑。如下圖所示,在列表空白處點擊鼠標(biāo)右鍵,選擇探出菜單中的Add->Files進行文件添加:

在彈出的窗體中選擇需要添加的文件和安裝在目標(biāo)機上的路徑,如下圖所示:
(6) 如果驅(qū)動需要相關(guān)的注冊表信息支持,則需要手動添加注冊表信息,選擇組件下的Registry Data節(jié)點,在列表的空白處點擊鼠標(biāo)右鍵,然后選擇Add->Registry Data,如下圖所示:

(9) 發(fā)布完成后,該組件相關(guān)屬性則變灰不可更改。點擊菜單中Files->Save保存組件,如下圖:


如果導(dǎo)入失敗,首先觀察導(dǎo)入日志中提示的錯誤信息,其次檢查:
-
數(shù)據(jù)庫引擎是否打開;
-
開發(fā)機是否接入局域網(wǎng),是否能夠ping通本機;
-
\\本機名或本機IP\Repositories是否能夠正常訪問;
-
Repositories目錄是否設(shè)置為可寫入共享;
-
組件的Repositories路徑是否設(shè)置正確;
5. 添加到XPE鏡像文件中
在導(dǎo)入組件成功后,打開目標(biāo)設(shè)計器(Target Designer),查找你導(dǎo)入的組件(PenMount USB),你將可以在Hardware->Devices->Human Interface Devices節(jié)點下找到這個組件,同時雙擊該組件,就可以把它添加到你的XPE工程中去了。如下圖所示:

至此,關(guān)于設(shè)備驅(qū)動組件的開發(fā)介紹基本完成,選擇PenMount觸摸屏作為這個教程的用例是因為該驅(qū)動組件具有一定的代表性,當(dāng)然,在實際開發(fā)工作中還有很多的問題,需要我們具體問題具體分析。
【編輯推薦】