国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

USB KEY設(shè)備在W indows CE下的驅(qū)動(dòng)實(shí)現(xiàn)

2011-12-27 01:05
關(guān)鍵詞:流式開發(fā)板注冊(cè)表

梅 歡

(河北省科學(xué)院應(yīng)用數(shù)學(xué)研究所,河北石家莊 050081)

USB KEY設(shè)備在W indows CE下的驅(qū)動(dòng)實(shí)現(xiàn)

梅 歡

(河北省科學(xué)院應(yīng)用數(shù)學(xué)研究所,河北石家莊 050081)

針對(duì)USB KEY設(shè)備,介紹了在嵌入式系統(tǒng)Window s CE下流設(shè)備驅(qū)動(dòng)的實(shí)現(xiàn)。

USB KEY設(shè)備;Window s CE

Window s CE是微軟公司嵌入式、移動(dòng)計(jì)算平臺(tái)的基礎(chǔ),它是一個(gè)開放的、可升級(jí)的32位嵌入式操作系統(tǒng)。同時(shí)隨著USB2.0設(shè)備的不斷增加,USB設(shè)備驅(qū)動(dòng)開發(fā)在嵌入式開發(fā)中變的越來越重要。筆者以ARM SYS2440開發(fā)板為硬件平臺(tái),嵌入式操作系統(tǒng)W indow s CE為軟件平臺(tái),討論了安全鎖USBKEY的驅(qū)動(dòng)程序的實(shí)現(xiàn)方法。

1 Window s CE系統(tǒng)驅(qū)動(dòng)程序

從驅(qū)動(dòng)加載方式來看WinCE可分為本機(jī)設(shè)備驅(qū)動(dòng)(Built-In Driver)、可加載驅(qū)動(dòng)(Loadable Driver)以及混合型驅(qū)動(dòng)。

本機(jī)設(shè)備驅(qū)動(dòng)即Native Device D rivers。通常是一些與圖形界面相關(guān)的 I/O設(shè)備驅(qū)動(dòng)。例如鼠標(biāo)鍵盤驅(qū)動(dòng)、顯卡驅(qū)動(dòng)及觸摸屏驅(qū)動(dòng)等。被 GWES.exe加載和使用,可以提高驅(qū)動(dòng)和圖形的效率。

可加載設(shè)備是指可與平臺(tái)連接和分離的第三方接口設(shè)備,可由用戶隨時(shí)安裝和卸載。這種外圍設(shè)備的驅(qū)動(dòng)也被稱為流驅(qū)動(dòng)。以DLL動(dòng)態(tài)鏈接庫的形式存在。這些驅(qū)動(dòng)可以在系統(tǒng)啟動(dòng)時(shí)或者和啟動(dòng)后的任何時(shí)候由Device.exe動(dòng)態(tài)加載。

混合型驅(qū)動(dòng)是指同時(shí)有定制和流驅(qū)動(dòng)兩套驅(qū)動(dòng)接口,但是和系統(tǒng)的交互只使用流驅(qū)動(dòng)接口,比如PC卡槽驅(qū)動(dòng)。

2 USB KEY設(shè)備驅(qū)動(dòng)程序?qū)崿F(xiàn)

2.1 設(shè)備介紹

筆者開發(fā)的USB KEY是基于公鑰基礎(chǔ)設(shè)施PKI(Public Key Infrastructure)的加密狗,其外觀類似于U盤,由硬件和軟件兩部分搭建而成。其硬件的核心部件是USB主控制器、加密芯片,通過USB接口與上位機(jī)進(jìn)行保密通信。USB KEY的軟件核心是片上操作系統(tǒng)COS(Chip Operating System)。

USB KEY采用的是航芯電子的SCCII芯片,這款芯片基于國產(chǎn)32位CPU核的SOC開發(fā)平臺(tái)而開發(fā),具備高處理能力、高安全性、低功耗等特點(diǎn)。芯片內(nèi)置USB 2.0控制器,符合USB 2.0標(biāo)準(zhǔn),支持高速和全速設(shè)備。具有兩個(gè)endpoint,在點(diǎn)對(duì)點(diǎn)通信中對(duì)USB外設(shè)進(jìn)行傳輸控制。

2.2 驅(qū)動(dòng)實(shí)現(xiàn)

驅(qū)動(dòng)程序使用立宇泰公司的ARM SYS2440開發(fā)板實(shí)現(xiàn)。該開發(fā)板的cpu采用三星S3C2440芯片,ARM 920T內(nèi)核,主頻400M Hz,最高可達(dá)533M Hz。

對(duì)USB KEY設(shè)備驅(qū)動(dòng)采用了流接口驅(qū)動(dòng)的模式。實(shí)現(xiàn)流式接口驅(qū)動(dòng)程序通常只需要4個(gè)步驟[1]:

1)為流式接口驅(qū)動(dòng)程序選擇一個(gè)前綴;

2)實(shí)現(xiàn)流式接口驅(qū)動(dòng)DLL所必需的接口函數(shù);

3)編寫DLL的導(dǎo)出函數(shù)定義文件.DEF;

4)為驅(qū)動(dòng)程序配置注冊(cè)表。

2.2.1 為流式接口驅(qū)動(dòng)程序選擇一個(gè)前綴

應(yīng)用程序通常須通過設(shè)備的名稱對(duì)驅(qū)動(dòng)程序進(jìn)行訪問。這里采用3個(gè)大寫字母,加一個(gè)1-9之間的數(shù)字過程的傳統(tǒng)方式命名,將USB KEY的前綴定義為“JKY”。

2.2.2 實(shí)現(xiàn)流式接口驅(qū)動(dòng)DLL所必需的接口函數(shù)

Platform Builder是微軟推出的針對(duì)Window s CE開發(fā)的集成開發(fā)環(huán)境。USB KEY驅(qū)動(dòng)使用這一環(huán)境編寫代碼。在Platform Builder中,新建一個(gè)SMDK2440的平臺(tái),然后再新建一個(gè)Win32 DLL項(xiàng)目,命名為U sb KeyD river。

Window s CE系統(tǒng)的流接口是屬于固定開放的規(guī)范,每個(gè)流接口驅(qū)動(dòng)程序必須實(shí)現(xiàn)一組標(biāo)準(zhǔn)的函數(shù),用來完成標(biāo)準(zhǔn)的文件I/O函數(shù)和電源管理函數(shù)。USB KEY的DLL接口如表1所示。

表1 流式接口函數(shù)

2.2.3 編寫DLL的導(dǎo)出函數(shù)定義文件.DEF

.DEF文件定義了DLL的導(dǎo)出函數(shù)列表。在U sb KeyDriver中插入一個(gè)文本文件,命名為Usb KeyDriver.def,然后在該文件中輸入如下內(nèi)容:

編譯后可使用Dumpbin工具查看DLL中是否正確地導(dǎo)出了這些函數(shù)。

2.2.4 為驅(qū)動(dòng)程序配置注冊(cè)表[2]

創(chuàng)建驅(qū)動(dòng)程序加載所需的注冊(cè)表信息是由 USBlnstallDriver()函數(shù)完成的,它在設(shè)備第一次插入U(xiǎn)SB接口時(shí)調(diào)用。使用RegisterClientD rivedD()和RegisterClientSetings()來注冊(cè)相應(yīng)的設(shè)備信息。卸載驅(qū)動(dòng)程序時(shí)會(huì)調(diào)用另外一個(gè)函數(shù) USBUninstallDriver(),它可以刪除 USB InstallD river)時(shí)創(chuàng)建的注冊(cè)表信息。

3 結(jié)束語

隨著嵌入式系統(tǒng)的應(yīng)用,越來越多的USB設(shè)備將需要支持這一平臺(tái)。本文實(shí)現(xiàn)了一個(gè)特殊設(shè)備USB KEY的驅(qū)動(dòng),對(duì)于今后開發(fā)其他的設(shè)備有一定的參考意義。

[1] 何宗健.Window s CE嵌入式系統(tǒng)[M].北京:北京航空航天大學(xué)出版社,2006.

[2] 劉彥峰,李崢,馬智.基于Window s CE的USB Key驅(qū)動(dòng)程序設(shè)計(jì)[Z].微計(jì)算機(jī)信息,2008-12-03.

The realization of USB KEY device driver based on W indows CE

MEIHuan

(Institute of A pp lied M athematics,Hebei Academ y of Sciences,Shijiazhuang Hebei050081,China)

Aim at USB Key device,this paper introduces the realization of Steam s device driver based on W indow s CE.

USB KEY device;Window s CE

TP317

:A

1001-9383(2011)01-0023-03

2011-01-10

梅歡(1981-),女,河北石家莊人,研究實(shí)習(xí)員,主要從事計(jì)算機(jī)應(yīng)用等方面的研究.

猜你喜歡
流式開發(fā)板注冊(cè)表
輻流式二沉池的結(jié)構(gòu)優(yōu)化研究
更上一層樓 用好注冊(cè)表編輯器
淺析單片機(jī)開發(fā)板的設(shè)計(jì)與制作
注冊(cè)表的便捷用法
微球測(cè)速聚類分析的流式液路穩(wěn)定性評(píng)估
ARM宣布mbed Enabled Freescale FRDM—K64F開發(fā)板通過微軟認(rèn)證
自調(diào)流式噴管型ICD的設(shè)計(jì)與數(shù)值驗(yàn)證
流式在線直播視頻的采集
Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板
Arduino和Atmel發(fā)布Arduino Zero開發(fā)板