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