久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7253|回復: 10
收起左側

[原創]WinCE驅動程序的分類

[復制鏈接]
ID:26808 發表于 2011-3-1 13:42 | 顯示全部樓層 |閱讀模式

最近有一些同學發郵件問我,驅動調試助手到底能動態加載哪些驅動,為什么在加載USB設備驅動時總是失敗。要解釋這個問題,首先得弄清楚WinCE中驅動的相關概念。本文將主要介紹WinCE下驅動程序的分類。

       驅動程序是介于操作系統和設備之間的一 個代碼層,它的主要作用是為操作系統提供一個接口,以操作不同的硬件,包括物理的和虛擬的設備。雖然驅動程序有很多種,但從編程的角度來看,無非是往一個 固定的框架中添加相應的代碼。這里的框架指的是一個接口,面向操作系統。代碼實現的宗旨是,在正確的時間往正確的寄存器中寫正確的值。

       驅動程序的分類,從不同的角度有不同的 分法。拿串口驅動來說,你可以說它是一個分層驅動,你也可以說它是一個流驅動,你還可以說它是開機時自動加載的驅動……這似乎有點亂。如果你也這么認為, 那建議往下看。如果這些你都了如指掌,那就不浪費時間了,當然,您愿意找茬,我會很感謝!

       先說本地驅動(Native Drivers)和流驅動(Stream Drivers)WinCE下的驅動都可以歸類到這兩個里面,二者必居其一。這是從驅動程序提供給操作系統的接口來區分的。流驅動為操作系統提供了流接口函數,如XXX_Init()XXX_Open()XXX_Read()、XXX_Write()XXX_Close()等等。這一類的驅動由Device Manager來管理,它調用ActivateDeviceEx()函數來加載流驅動。ActivateDeviceEx()的參數是注冊表中相應的鍵,用來設定加載流驅動的屬性,如IndexOrder、Prefix等等。流驅動的注冊表配置信息一般存放在[HKEY_LOCAL_MACHINE\Drivers\BuiltIn]下。流驅動加載成功后,應用程序通過調用CreateFile()、ReadFile()、WirteFile()等來訪問流驅動的設備。流驅動可以動態管理,驅動調試助手就是用來幫助調試這一類驅動的。

與流驅動相反,本地驅動提供給操作系統的不是標準的流接口,而是事先約定好的特定接口。不同的設備,接口也不一樣。WinCE中,常見的本地驅動有LCD顯示驅動、觸摸屏驅動、鼠標和鍵盤驅動及打印機驅動等?梢钥吹剑镜仳寗又饕侨藱C界面相關的驅動。它們由GWES管理,在系統啟動時加載。他們在注冊表中也有各自相應的配置信息。如鍵鼠的注冊表配置如下:

[HKEY_LOCAL_MACHINE"System"CurrentControlSet"Control"Layouts"00000409]

"Layout File"="kbdmouse.dll"

"Layout Text"="US"

"PS2_AT"="kbdmouse.dll"

"Matrix"="kbdmouse.dll"

本地驅動由操作系統調用,應用程序不能訪問。對于這類驅動,驅動調試助手是無能為力的,只能老老實實的編譯、下載、驗證。

WinCE驅動中經常會聽到MDD(Model Device Driver)PDD(Platform Dependent Driver)的概念,這是從驅動代碼實現的結構來區分的。WinCE的驅動可以是單層的,也可以是PDD+MDD。這沒有硬性規定,一個驅動程序可以采用分層結構,也可以采用單層結構。一般來說,單層結構的驅動執行效率更高,而分層結構的驅動方便代碼維護和移植。拿串口驅動來說,完全可以采用單層結構。而把它分為PDDMDD,作為一般的開發者,我們只需實現PDD層就可以了,MDD層由微軟實現。這樣,驅動開發的工作量少很多,而代碼的可靠性則有了更好的保證。至于采用哪一種結構的驅動,主要看你的需求。

WinCE 6.0引入了內核態驅動和用戶態驅動的概念。在WinCE5.0及先前的版本中,驅動工作在用戶態。從代碼方面看,內核態驅動和用戶態驅動沒太大差別。如果驅動中沒有采用什么特別的技術,內核態驅動和用戶態驅動甚至是二進制兼容的。我曾經試過將一個DLL分 別加載到內核態和用戶態,都工作得很好。內核態驅動被加載到內核空間,用戶態驅動被加載到特定的用戶進程空間中。從執行效率來看,內核態的驅動效率比用戶 態的驅動高。從穩定性方面考慮,用戶態的驅動不會對系統產生致命影響,而內核態的驅動相對危險。同樣,采用哪一種類型的驅動,也是看你的需求。

從驅動加載的時間來看,可分為兩種:系統啟動時加載和需要時加載。一般來說本地驅動都是在啟動時加載的,所以這里說的主要是流驅動。如果想要驅動在系統啟動時加載,只需將它的注冊表配置信息放到[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\]下,如[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Battery],系統啟動時,Device Manager會自動加載它。需要時加載,顧名思義,就是想加載就加載,想卸載就卸載,很靈活。這里很有必要說一下USB設備的驅動加載,如USB攝像頭驅動,它也屬于需要時加載的驅動。從驅動的接口來看,它屬于流驅動,但相對普通的流驅動,它增加了幾個函數:USBDeviceAttach()、USBInstallDriver()USBUnInstallDriver()等。USB攝像頭驅動的加載在USBDeviceAttach()中完成。所以,它無須,也不能,用驅動調試助手加載。需要時加載的驅動還有一個作用,在無法修改系統的情況下,應用程序中動態加載該驅動,以完成對硬件的操作。

綜上所述,WinCE驅動的分類,主要有以下幾種分法:

按驅動接口分,可分為本地驅動和流驅動;

按驅動結構分,可分為單層驅動和分層驅動;

按驅動加載的空間分,可分為內核態驅動和用戶態驅動;

按驅動加載的時間分,可分為啟動時加載和需要時加載兩種。

驅動調試助手,是用來動態管理流驅動。本地驅動和USB驅動不再它的控制范圍之內,各位在使用時注意這一點。

文中有失當之處,敬請留言指正。如果還有什么問題,也歡迎留言,大家一起討論。

 

。。。。。。。。

回復

使用道具 舉報

ID:19853 發表于 2011-3-9 09:25 | 顯示全部樓層
支持一下!
回復

使用道具 舉報

ID:26808 發表于 2011-4-8 11:33 | 顯示全部樓層
經典的文章,值得一看!
回復

使用道具 舉報

ID:26808 發表于 2011-8-25 11:13 | 顯示全部樓層
很好的技術文章
回復

使用道具 舉報

ID:36096 發表于 2012-3-19 11:09 | 顯示全部樓層
很不錯的資料,頂起來!
回復

使用道具 舉報

ID:39689 發表于 2012-5-8 13:48 | 顯示全部樓層

支持!

回復

使用道具 舉報

ID:36096 發表于 2012-7-17 16:09 | 顯示全部樓層
支持下!
回復

使用道具 舉報

ID:26808 發表于 2013-1-23 13:38 | 顯示全部樓層
 

適合駕培、駕考、物流管理系統的車載一體機終端設備形成系列化

 

立宇泰推出的車載一代(型號)、車載二代(型號)目前已經大批量使用在各大城市的駕培終端升級中,在實際使用場合考驗下,工作穩定、可靠,受到用戶的好評。

車載一代:ARM9處理器+WINCE5.0操作系統,480x272像素4.3寸液晶屏,電阻式觸摸屏,支持GPS定位,2G/3G撥號,RFID(TypeA/B)卡的讀寫,指紋采集(上層實現算法),支持1路串口攝像頭,內置2~4GTF存儲卡,支持音頻播放。

車載二代:ARM Cotex-A8處理器+Android2.3操作系統,800x480像素7寸液晶屏,電容式觸摸屏,支持GPS定位,2G/3G撥號,RFID(TypeA/B)卡讀寫,接觸式IC卡讀寫,指紋采集模塊(已經實現算法),支持2路模擬攝像頭(支持拍照、錄像),內置8GTF存儲卡,提供外置TF卡接口(最大),支持錄音、放音,具備陀螺儀和加速度傳感器。

 

通過與軟件方案商、集成商的合作,實現了全新的駕培管理軟、硬件體系,促進各大城市的駕培管理變得更加成熟、規范、公平、公正。


http://www.hzlitai.com.cn/product/Tablet-PC/1840.html

回復

使用道具 舉報

ID:26808 發表于 2013-6-26 14:42 | 顯示全部樓層
祝賀立宇泰視頻指紋車載駕培終端產品,一次性通過“國家電子計算機外部設備質量監督檢驗中心”權威部門的檢測,測試項目包括:性能檢驗、環境適應性檢驗、可靠性檢驗、電磁兼容性檢驗、安全檢驗。
http://www.hzlitai.com.cn/news/1855.html
回復

使用道具 舉報

ID:51503 發表于 2013-7-5 23:04 | 顯示全部樓層
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人精品综合 | 日韩亚洲一区二区 | 久热久草| 国产精品视频播放 | 国产精品一区二区免费看 | 国产伦一区二区三区四区 | 国产精品久久 | 国产精品一区视频 | www国产精品| 亚洲综合久久精品 | 国产精品免费一区二区 | 狠狠插天天干 | 国产欧美一区二区三区久久人妖 | 天堂av中文 | 爱爱视频在线观看 | 精品美女在线观看 | 亚洲 中文 欧美 日韩 在线观看 | 久久夜视频 | 亚洲一区二区三区四区五区午夜 | 精品国产乱码久久久久久影片 | 午夜小视频在线播放 | 日本精品视频一区二区 | 人人玩人人干 | 免费在线色 | 自拍偷拍视频网 | 国产精品福利在线 | 国产一区二区视频在线 | 久久久久九九九女人毛片 | 久久久久免费精品国产小说色大师 | 美女视频黄的 | 一区二区在线不卡 | 粉嫩国产精品一区二区在线观看 | 日韩精品免费视频 | 亚洲国产18 | 亚洲高清在线播放 | 欧美精品网 | 国产在线精品一区二区 | 亚洲精品一区二区网址 | 免费在线日韩 | 女人牲交视频一级毛片 | www.日韩在线 |