旋極針對行業(yè)應用邁入PDA市場
——
旋極針對行業(yè)應用邁入PDA市場
在國外,掌上電腦產(chǎn)品在行業(yè)中的應用已經(jīng)相當普遍。在一些發(fā)達國家,掌上電腦的行業(yè)應用比率相當于整個掌上電腦行業(yè)市場總額的70%。以美國為例,Palm公司2002年440萬臺的掌上電腦銷售量,其中有300萬臺是屬于各類行業(yè)應用。在美國國防部下屬太平洋艦隊,凡士官級以上人員,均配備一臺掌上電腦,以用于與相關部門的數(shù)據(jù)溝通和更新。
對比國內(nèi)市場,我國PDA產(chǎn)品的行業(yè)應用發(fā)展相對較晚,行業(yè)應用比例不到10%。事實上隨著我國信息化建設的加快,對掌上電腦及PDA產(chǎn)品等移動信息處理終端設備的需求正呈現(xiàn)出明顯的增長趨勢。這個巨大商機已經(jīng)引起了眾多掌上電腦廠商關注。
旋極公司研制出的HR-828是行業(yè)應用PDA終端。該PDA終端具有GPRS通信、GPS衛(wèi)星定位、IC卡、攝像頭和通用PDA等諸多功能,并且具備豐富的對外接口,如串口、USB口、IrDA、CF卡等。并且支持通過CF卡、串口的功能擴展。支持WINCE NUCLEUS LINUX 和欣等多種操作系統(tǒng)。針對不同行業(yè)用戶的不同需求,推出個性化軟件和硬件定制業(yè)務。并且用戶可以根據(jù)自己的應用要求,選擇相應的硬件軟件模塊進行二次開發(fā)。
本機設備驅(qū)動程序把CE移植到目標平臺上,為在平臺上的基本設備(如鍵盤、觸摸屏)提供驅(qū)動程序,CE操作系統(tǒng)為這些基本設備提供自定義接口,本機設備驅(qū)動程序分單片驅(qū)動程序(Monotithic device driver)和分層驅(qū)動程序。單片驅(qū)動程序是基于單個代碼片,該代碼片直接把硬件設備功能傳遞給操作系統(tǒng)。分層驅(qū)動程序由兩個設置好的層組成,上層是模型設備驅(qū)動程序(MDD),下層是依賴平臺的驅(qū)動程序(PDD)。在CE提供的樣本驅(qū)動程序中,大多數(shù)都配置成分層驅(qū)動程序。
下圖是本機設備驅(qū)動程序模型,它說明了單片驅(qū)動程序和本機驅(qū)動程序是如何在操作系統(tǒng)中集成的。
本文引用地址:http://www.ex-cimer.com/article/8215.htm對比國內(nèi)市場,我國PDA產(chǎn)品的行業(yè)應用發(fā)展相對較晚,行業(yè)應用比例不到10%。事實上隨著我國信息化建設的加快,對掌上電腦及PDA產(chǎn)品等移動信息處理終端設備的需求正呈現(xiàn)出明顯的增長趨勢。這個巨大商機已經(jīng)引起了眾多掌上電腦廠商關注。
旋極公司研制出的HR-828是行業(yè)應用PDA終端。該PDA終端具有GPRS通信、GPS衛(wèi)星定位、IC卡、攝像頭和通用PDA等諸多功能,并且具備豐富的對外接口,如串口、USB口、IrDA、CF卡等。并且支持通過CF卡、串口的功能擴展。支持WINCE NUCLEUS LINUX 和欣等多種操作系統(tǒng)。針對不同行業(yè)用戶的不同需求,推出個性化軟件和硬件定制業(yè)務。并且用戶可以根據(jù)自己的應用要求,選擇相應的硬件軟件模塊進行二次開發(fā)。
本機設備驅(qū)動程序把CE移植到目標平臺上,為在平臺上的基本設備(如鍵盤、觸摸屏)提供驅(qū)動程序,CE操作系統(tǒng)為這些基本設備提供自定義接口,本機設備驅(qū)動程序分單片驅(qū)動程序(Monotithic device driver)和分層驅(qū)動程序。單片驅(qū)動程序是基于單個代碼片,該代碼片直接把硬件設備功能傳遞給操作系統(tǒng)。分層驅(qū)動程序由兩個設置好的層組成,上層是模型設備驅(qū)動程序(MDD),下層是依賴平臺的驅(qū)動程序(PDD)。在CE提供的樣本驅(qū)動程序中,大多數(shù)都配置成分層驅(qū)動程序。
下圖是本機設備驅(qū)動程序模型,它說明了單片驅(qū)動程序和本機驅(qū)動程序是如何在操作系統(tǒng)中集成的。
MDD層是微軟為連接驅(qū)動程序而提供的模型設備驅(qū)動程序,在開發(fā)過程中不需要用戶修改。對平臺和函數(shù)來講MDD是通用的,既是源代碼也是庫。通常的MDD層執(zhí)行下列任務:
*定義與PDD層之間的接口,并調(diào)用PDD
*向上對操作系統(tǒng)提供不同的函數(shù)集
*進行中斷處理
*與GWES模塊和內(nèi)核通信
PDD層是依賴平臺的驅(qū)動程序,它與MDD和硬件都有接口,所以PDD必須適合目標平臺的需要,一個PDD由一些針對具體硬件的函數(shù)組成,這些函數(shù)又與一個MDD相對應,但這種對應不是直接的一一對應。MDD層通過調(diào)用PDD中的函數(shù)實現(xiàn)獨立的任務,從而完成一些特定的目標。由于PDD是硬件相關的,因此必須生成一個設置好的PDD并輸出到目標平臺,微軟為各種各樣的內(nèi)部設備提供了幾個樣本PDD層。這些樣本都可以在驅(qū)動程序工具包中找到。
在本機設備驅(qū)動程序安裝時,首先要保證PC機與CE設備的連接,而后將驅(qū)動DLL拷貝到windows目錄下,最后要設置、修改相應的注冊表鍵。
對于加入外部設備,windows CE平臺有區(qū)別于標準PC機的理念:標準PC機中,操作者可以打開設備的機箱將擴展卡直接插入數(shù)據(jù)總線,也就是意味著這些設備的驅(qū)動必須運行在內(nèi)核模式,這樣才能滿足直接訪問控制硬件的內(nèi)存區(qū)域的要求;windows CE 平臺不提供終端用戶對數(shù)據(jù)總線的訪問,外部設備必須通過外部連接器件,如,串口、PC卡槽、通用串行總線接口等與系統(tǒng)平臺相連,這也就使得windows CE平臺外部設備扮演著標準PC中打印機的角色。
由于GWES模塊一般的原始設備生產(chǎn)商(OEM)無法修改,即只有微軟可以通過這個模塊增加對新設備的支持,這就導致了OEM必須通過使用基于windows CE的驅(qū)動程序模塊,也就是流接口驅(qū)動程序模塊為新設備類型提供驅(qū)動程序。
流接口驅(qū)動程序是動態(tài)連接庫,由一個叫做設備管理程序的特殊應用程序加載、管理、和御載,與具有單獨目的接口的內(nèi)部設備驅(qū)動程序相比,所有流接口驅(qū)動程序使用同一個接口并調(diào)用同一個函數(shù)集——流接口函數(shù)。
下圖說明了流接口驅(qū)動程序模型:
從上圖我們可以看出, 外圍設備由設備驅(qū)動程序管理,用戶應用程序通過調(diào)用文件系統(tǒng)從而實現(xiàn)對外部物理設備的訪問,流接口驅(qū)動程序通過把外圍設備表示為文件系統(tǒng)的一個特殊文件,而使應用程序使用外圍設備就像打開、關閉一個文件一樣簡單。
在流接口驅(qū)動程序的加載過程中,設備管理程序起著至關重要的作用。設備管理程序不是內(nèi)核的一部分,它是用戶層的驅(qū)動程序,但它又是與內(nèi)核、注冊表和流接口驅(qū)動程序DLL有相互影響的單獨部分。它的主要任務是在系統(tǒng)啟動時或收到用戶在基于Windows CE的平臺上增加了外圍設備的信息時初始化驅(qū)動程序的加載。
流接口驅(qū)動程序的加載有三種方法:
第一種是在系統(tǒng)啟動時加載。當WCE平臺啟動時,設備管理程序讀取注冊表內(nèi)HKEY_LOCAL_MACHINEDriverBuiltin鍵下的內(nèi)容,并加載其中列出的流接口驅(qū)動程序。
第二種是設備管理程序自動檢測到外圍設備與CE平臺建立連接時,流接口驅(qū)動程序被加載。PC卡是此種加載方式中最常見的類型。當用戶將PC卡插入PC卡插槽時,控制程序就通知WCE,而后設備管理程序調(diào)用PC插槽驅(qū)動程序?qū)ふ壹床寮从脴俗R符。如果沒有找到匹配的標識符,設備管理程序調(diào)用HKEY_LOCAL_MACHINEDriverDetect中所列出的所以函數(shù)。如果其中有一個函數(shù)返回真值,表明它可以處理PC卡,設備管理程序就加載并初始化那個流接口驅(qū)動程序。
第三種是設備管理程序不能自動檢測到外圍設備與平臺的連接,這種未被認識的設備一般是串行設備。此時應用程序調(diào)用RegiditerDevice()函數(shù)來加載流接口驅(qū)動程序并鎖入內(nèi)存,以防止頁面調(diào)出內(nèi)存。
流接口驅(qū)動程序的命名要遵循一定的流接口驅(qū)動程序的命名規(guī)則。一般由三個大寫字母、一個數(shù)字和一個冒號組成,如COM1:、RGP7:等。
當要實現(xiàn)一個流接口驅(qū)動DLL時,必須完成幾個入口函數(shù),這些函數(shù)由WCE內(nèi)核調(diào)用,以完成設備初始化和電源管理。這些函數(shù)有:XXX_Close,XXX_Init,XXX_Open,XXX_Powerup 等。在安裝驅(qū)動程序時,需要將驅(qū)動DLL拷貝到windows目錄下,并為驅(qū)動程序修改或建立注冊鍵和注冊值。
在國外,掌上電腦產(chǎn)品在行業(yè)中的應用已經(jīng)相當普遍。在一些發(fā)達國家,掌上電腦的行業(yè)應用比率相當于整個掌上電腦行業(yè)市場總額的70%。以美國為例,Palm公司2002年440萬臺的掌上電腦銷售量,其中有300萬臺是屬于各類行業(yè)應用。在美國國防部下屬太平洋艦隊,凡士官級以上人員,均配備一臺掌上電腦,以用于與相關部門的數(shù)據(jù)溝通和更新。
對比國內(nèi)市場,我國PDA產(chǎn)品的行業(yè)應用發(fā)展相對較晚,行業(yè)應用比例不到10%。事實上隨著我國信息化建設的加快,對掌上電腦及PDA產(chǎn)品等移動信息處理終端設備的需求正呈現(xiàn)出明顯的增長趨勢。這個巨大商機已經(jīng)引起了眾多掌上電腦廠商關注。
旋極公司研制出的HR-828是行業(yè)應用PDA終端。該PDA終端具有GPRS通信、GPS衛(wèi)星定位、IC卡、攝像頭和通用PDA等諸多功能,并且具備豐富的對外接口,如串口、USB口、IrDA、CF卡等。并且支持通過CF卡、串口的功能擴展。支持WINCE NUCLEUS LINUX 和欣等多種操作系統(tǒng)。針對不同行業(yè)用戶的不同需求,推出個性化軟件和硬件定制業(yè)務。并且用戶可以根據(jù)自己的應用要求,選擇相應的硬件軟件模塊進行二次開發(fā)。
本機設備驅(qū)動程序把CE移植到目標平臺上,為在平臺上的基本設備(如鍵盤、觸摸屏)提供驅(qū)動程序,CE操作系統(tǒng)為這些基本設備提供自定義接口,本機設備驅(qū)動程序分單片驅(qū)動程序(Monotithic device driver)和分層驅(qū)動程序。單片驅(qū)動程序是基于單個代碼片,該代碼片直接把硬件設備功能傳遞給操作系統(tǒng)。分層驅(qū)動程序由兩個設置好的層組成,上層是模型設備驅(qū)動程序(MDD),下層是依賴平臺的驅(qū)動程序(PDD)。在CE提供的樣本驅(qū)動程序中,大多數(shù)都配置成分層驅(qū)動程序。
下圖是本機設備驅(qū)動程序模型,它說明了單片驅(qū)動程序和本機驅(qū)動程序是如何在操作系統(tǒng)中集成的。
對比國內(nèi)市場,我國PDA產(chǎn)品的行業(yè)應用發(fā)展相對較晚,行業(yè)應用比例不到10%。事實上隨著我國信息化建設的加快,對掌上電腦及PDA產(chǎn)品等移動信息處理終端設備的需求正呈現(xiàn)出明顯的增長趨勢。這個巨大商機已經(jīng)引起了眾多掌上電腦廠商關注。
旋極公司研制出的HR-828是行業(yè)應用PDA終端。該PDA終端具有GPRS通信、GPS衛(wèi)星定位、IC卡、攝像頭和通用PDA等諸多功能,并且具備豐富的對外接口,如串口、USB口、IrDA、CF卡等。并且支持通過CF卡、串口的功能擴展。支持WINCE NUCLEUS LINUX 和欣等多種操作系統(tǒng)。針對不同行業(yè)用戶的不同需求,推出個性化軟件和硬件定制業(yè)務。并且用戶可以根據(jù)自己的應用要求,選擇相應的硬件軟件模塊進行二次開發(fā)。
本機設備驅(qū)動程序把CE移植到目標平臺上,為在平臺上的基本設備(如鍵盤、觸摸屏)提供驅(qū)動程序,CE操作系統(tǒng)為這些基本設備提供自定義接口,本機設備驅(qū)動程序分單片驅(qū)動程序(Monotithic device driver)和分層驅(qū)動程序。單片驅(qū)動程序是基于單個代碼片,該代碼片直接把硬件設備功能傳遞給操作系統(tǒng)。分層驅(qū)動程序由兩個設置好的層組成,上層是模型設備驅(qū)動程序(MDD),下層是依賴平臺的驅(qū)動程序(PDD)。在CE提供的樣本驅(qū)動程序中,大多數(shù)都配置成分層驅(qū)動程序。
下圖是本機設備驅(qū)動程序模型,它說明了單片驅(qū)動程序和本機驅(qū)動程序是如何在操作系統(tǒng)中集成的。
MDD層是微軟為連接驅(qū)動程序而提供的模型設備驅(qū)動程序,在開發(fā)過程中不需要用戶修改。對平臺和函數(shù)來講MDD是通用的,既是源代碼也是庫。通常的MDD層執(zhí)行下列任務:
*定義與PDD層之間的接口,并調(diào)用PDD
*向上對操作系統(tǒng)提供不同的函數(shù)集
*進行中斷處理
*與GWES模塊和內(nèi)核通信
PDD層是依賴平臺的驅(qū)動程序,它與MDD和硬件都有接口,所以PDD必須適合目標平臺的需要,一個PDD由一些針對具體硬件的函數(shù)組成,這些函數(shù)又與一個MDD相對應,但這種對應不是直接的一一對應。MDD層通過調(diào)用PDD中的函數(shù)實現(xiàn)獨立的任務,從而完成一些特定的目標。由于PDD是硬件相關的,因此必須生成一個設置好的PDD并輸出到目標平臺,微軟為各種各樣的內(nèi)部設備提供了幾個樣本PDD層。這些樣本都可以在驅(qū)動程序工具包中找到。
在本機設備驅(qū)動程序安裝時,首先要保證PC機與CE設備的連接,而后將驅(qū)動DLL拷貝到windows目錄下,最后要設置、修改相應的注冊表鍵。
對于加入外部設備,windows CE平臺有區(qū)別于標準PC機的理念:標準PC機中,操作者可以打開設備的機箱將擴展卡直接插入數(shù)據(jù)總線,也就是意味著這些設備的驅(qū)動必須運行在內(nèi)核模式,這樣才能滿足直接訪問控制硬件的內(nèi)存區(qū)域的要求;windows CE 平臺不提供終端用戶對數(shù)據(jù)總線的訪問,外部設備必須通過外部連接器件,如,串口、PC卡槽、通用串行總線接口等與系統(tǒng)平臺相連,這也就使得windows CE平臺外部設備扮演著標準PC中打印機的角色。
由于GWES模塊一般的原始設備生產(chǎn)商(OEM)無法修改,即只有微軟可以通過這個模塊增加對新設備的支持,這就導致了OEM必須通過使用基于windows CE的驅(qū)動程序模塊,也就是流接口驅(qū)動程序模塊為新設備類型提供驅(qū)動程序。
流接口驅(qū)動程序是動態(tài)連接庫,由一個叫做設備管理程序的特殊應用程序加載、管理、和御載,與具有單獨目的接口的內(nèi)部設備驅(qū)動程序相比,所有流接口驅(qū)動程序使用同一個接口并調(diào)用同一個函數(shù)集——流接口函數(shù)。
下圖說明了流接口驅(qū)動程序模型:
從上圖我們可以看出, 外圍設備由設備驅(qū)動程序管理,用戶應用程序通過調(diào)用文件系統(tǒng)從而實現(xiàn)對外部物理設備的訪問,流接口驅(qū)動程序通過把外圍設備表示為文件系統(tǒng)的一個特殊文件,而使應用程序使用外圍設備就像打開、關閉一個文件一樣簡單。
在流接口驅(qū)動程序的加載過程中,設備管理程序起著至關重要的作用。設備管理程序不是內(nèi)核的一部分,它是用戶層的驅(qū)動程序,但它又是與內(nèi)核、注冊表和流接口驅(qū)動程序DLL有相互影響的單獨部分。它的主要任務是在系統(tǒng)啟動時或收到用戶在基于Windows CE的平臺上增加了外圍設備的信息時初始化驅(qū)動程序的加載。
流接口驅(qū)動程序的加載有三種方法:
第一種是在系統(tǒng)啟動時加載。當WCE平臺啟動時,設備管理程序讀取注冊表內(nèi)HKEY_LOCAL_MACHINEDriverBuiltin鍵下的內(nèi)容,并加載其中列出的流接口驅(qū)動程序。
第二種是設備管理程序自動檢測到外圍設備與CE平臺建立連接時,流接口驅(qū)動程序被加載。PC卡是此種加載方式中最常見的類型。當用戶將PC卡插入PC卡插槽時,控制程序就通知WCE,而后設備管理程序調(diào)用PC插槽驅(qū)動程序?qū)ふ壹床寮从脴俗R符。如果沒有找到匹配的標識符,設備管理程序調(diào)用HKEY_LOCAL_MACHINEDriverDetect中所列出的所以函數(shù)。如果其中有一個函數(shù)返回真值,表明它可以處理PC卡,設備管理程序就加載并初始化那個流接口驅(qū)動程序。
第三種是設備管理程序不能自動檢測到外圍設備與平臺的連接,這種未被認識的設備一般是串行設備。此時應用程序調(diào)用RegiditerDevice()函數(shù)來加載流接口驅(qū)動程序并鎖入內(nèi)存,以防止頁面調(diào)出內(nèi)存。
流接口驅(qū)動程序的命名要遵循一定的流接口驅(qū)動程序的命名規(guī)則。一般由三個大寫字母、一個數(shù)字和一個冒號組成,如COM1:、RGP7:等。
當要實現(xiàn)一個流接口驅(qū)動DLL時,必須完成幾個入口函數(shù),這些函數(shù)由WCE內(nèi)核調(diào)用,以完成設備初始化和電源管理。這些函數(shù)有:XXX_Close,XXX_Init,XXX_Open,XXX_Powerup 等。在安裝驅(qū)動程序時,需要將驅(qū)動DLL拷貝到windows目錄下,并為驅(qū)動程序修改或建立注冊鍵和注冊值。
評論