久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区

Rss & SiteMap

曙海教育集團論壇 http://www.bjzhda.cn

曙海教育集團論壇
共1 條記錄, 每頁顯示 10 條, 頁簽: [1]
[瀏覽完整版]

標題:WinCE流驅動開發流程

1樓
wangxinxin 發表于:2010-11-26 13:43:25

PDD:Platform Dependence Driver,平臺相關驅動

MDD:Model Device Driver,模型設備驅動

DDSI:Device Driver Service Provider Interface,DDSI函數

單體驅動:

顧名思義,所有的驅動程序代碼——包括中斷處理、I/O操作及硬件控制都被放在了一起。這也是比較傳統的驅動程序編寫方法。單體驅動程序的代碼直接與硬件交互,因此它包含與特定的某款硬件相關聯的代碼。通常,單體驅動程序會暴露DDI接口(Device Driver Interface)給操作系統,DDI函數是操作系統與驅動程序交互的接口協議。因為單體驅動程序對驅動程序的代碼不做分層處理,因此驅動程序的代碼相對緊湊,對于一些效率要求較高的場合,選用單體驅動程序會提高驅動的性能,同時,對于一些較簡單的硬件設備驅動,使用單體驅動程序模型,可更加清晰明了。

附單體驅動和分層驅動圖如下:


原博主正文如下:

首先是wince驅動的分類問題。按照書上講的說CE下驅動分成單體驅動和分層驅動,而看到另一種說法是本機驅動和流式驅動。經過microsun大哥的指點,把這兩種分類法分開了。在這里引用一下:
   “單體與分層只是從代碼的形式上做的分類.分層驅動代碼上分為PDD與MDD,一般的微軟已經實現了MDD,可能也實現了PDD,我們只需要對PDD做些修改就能使用,比如音頻的驅動,顯示的驅動。單層驅動是把PDD與MDD寫在一起,沒有做嚴格的區分,通常這種驅動比較簡單,比如:ATADISK。至于本地驅動和流式驅動是從驅動與系統其它模塊(調用者)的接口形式上做的分類.其實,本地驅動這個名稱不大恰當,可能叫專用驅動或其它名字更為合適.它是指調用它的模塊給它有特定的接口,比如電源驅動和通用LED驅動。而串口,網卡等就是流接口驅動程序. 所以,一個驅動程序可以是單體的流式驅動,例如:ATADISK.也可以是分層的流式: 如OHCI ” 
    按照我的理解,單體和分層是驅動實現方式上的分類,而本地和流式則是驅動模型上的分類,所謂本地驅動就是操作系統有保留專門的接口,所謂流式是指編寫的DLL文件里可以導出各種流式接口函數。 
    第二點:驅動的功能屬性。設備驅動程序是操作系統內核和硬件的接口,操作系統定義了一組標準的接口,編寫驅動的過程也就是實現這些接口。從應用程序到具體硬件間有如下這些環節起作用:應用程序-調用OS函數-操作系統-驅動接口-驅動程序-硬件操作函數-硬件。在wince里驅動都以用戶態的DLL存在,需要通過進程加載到slot里。共有三類系統進程用來加載:Device.exe,GWES.exe,FileSys.exe.絕大多數設備驅動都是通過Device.exe加載的。需要注意的是,不同的OS保留的設備驅動接口是不一樣的,如桌面windows和wince就不同。
     第三點:wince下設備的初始化分為兩個階段:Device.exe的初始化;外設的枚舉和加載。其流程是:上電-啟動bootloader-啟動NK-啟動注冊表init鍵(Device.exe啟動)-初始化數據結構,I/O,電源管理等-加載BusEnum.dll(總線枚舉器)-枚舉注冊表下Driver/buildin的所有子鍵。這里的枚舉過程就是循環調用ActivateDeviceEx()函數加載驅動的過程。在OS啟動完畢后,我們可以用PB的Remote Registry Tool查看H_L_M/drivers/active包含的子鍵,看哪些驅動隨啟動而加載 。
     第四點:流接口驅動的概念。暴露流式接口函數的驅動即是流驅動,它把外設抽象成一個文件。過程是:應用程序使用文件API對設備進行訪問,OS接受API調用FileSys.exe,轉到device.exe,調用流接口,與硬件交互。所謂流接口函數有十個,包括XXX_Init、XXX_Deinit、XXX_Open、XXX_Close、XXX_Read、XXX_Write、XXX_PowerUp、XXX_PowerDown、XXX_Seek、XXX_IOControl,在wince5.0中增加le了XXX_PreClose,XXX_PreDeinit.而我們在應用程序里對應的文件API有CreateFile、DeviceIoControl、 ReadFile、 WriteFile,CloseHandle,SetFilePointer.  
     第五點:編寫流驅動的步驟。有兩種實現途徑:1。寫DLL,做成Project,加入到OS里。2。改BSP,把驅動寫在BSP里,再選擇那個BSP做OS。第一種方法步驟是在PB中新建一個DLL項目,編寫一些輸入函數,寄存器,外設的聲明,寫DLLENTRY函數;實現流接口函數;編寫DLL的導出函數文件.DEF;為驅動程序寫入注冊表項,還需要修改bib文件。 第二種方法就是在platform/BSP/drivers下新建一個目錄,然后在drivers目錄中的dirs文件中加入新建的目錄名。在新建的目錄下,新建你的源代碼文件,在其中實現DLL函數。新建名稱分別為sources, makefile, ***.def的文件;修改platform.reg和platform.bib文件。

共1 條記錄, 每頁顯示 10 條, 頁簽: [1]

Copyright © 2000 - 2009 曙海教育集團
Powered By 曙海教育集團 Version 2.2
Processed in .01563 s, 2 queries.
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
精品一区二区三区日本| 一区二区三区在线高清| 伊人av成人| 久久久久se| 精品一区在线播放| 精品日本一区二区三区| 91视频婷婷| 精品一区二区三区免费视频| 日本va欧美va欧美va精品| 日本欧美韩国一区三区| 精品在线播放午夜| 久久99深爱久久99精品| 精品一区二区免费看| 国产自产v一区二区三区c| 黄色精品一二区| 性久久久久久久久久久久| 日韩精品一卡二卡三卡四卡无卡| 首页国产丝袜综合| 久久99久国产精品黄毛片色诱| 久久99精品久久久久久国产越南| 久久精品国产一区二区| 国产一区中文字幕| 色欲综合视频天天天| 色中色综合成人| 任我爽在线视频精品一| 亚洲国产精品123| 亚洲国产精品久久久久婷婷老年 | 国产69精品久久久久777| 国产麻豆精品久久一二三| 99久久国产综合精品女不卡| 国产精品久久波多野结衣| 欧美激情第六页| 玛丽玛丽电影原版免费观看1977 | 久久色中文字幕| 亚洲免费在线观看视频| 视频在线观看一区二区三区| 奇米影视一区二区三区小说| 国产精品123| av一区和二区| 亚洲一区二区高清视频| 日本高清成人免费播放| 欧美不卡在线视频| 亚洲人精品一区| 麻豆视频一区二区| 91精品国产一区二区三区动漫| 茄子视频成人在线观看 | 中文字幕一区二区三区精华液 | 中文字幕电影一区| 午夜精品福利一区二区三区av| 免费人成精品欧美精品| 成人av电影在线网| 日本精品一区二区三区不卡无字幕| 中文字幕一区二区三区精彩视频| 欧美一区二区三区人| 91福利区一区二区三区| 久久嫩草精品久久久精品一| 久久丁香综合五月国产三级网站 | 国产精品国产一区二区| 国产亚洲一区二区在线观看| 成人精品免费网站| 欧美日韩免费一区二区三区| 日韩不卡免费视频| 亚洲亚洲精品三区日韩精品在线视频| 一区二区三区在线看| 欧美在线播放一区| 一区二区三区日韩欧美精品| 欧美极品一区二区| 亚洲欧美偷拍三级| 日本一区二区三不卡| 亚洲专区一二三| 欧美va亚洲va在线观看蝴蝶网| 亚洲高清免费观看 | 亚洲福利一区二区| av成人免费在线观看| 91福利在线看| 亚洲精品久久7777| 国产乱码精品一区二区三| 欧美裸体网站| 国产亚洲成aⅴ人片在线观看| 久久激五月天综合精品| 麻豆精品传媒视频| 国产日产欧产精品推荐色| 国产精品一区久久久久| 尤物国产精品| 亚洲精品久久久蜜桃| 成人午夜电影免费在线观看| 日韩一级完整毛片| 久久精品久久99精品久久| 日韩精品欧美专区| 国产精品国产三级国产aⅴ入口| 国产成a人亚洲精| 欧美视频精品在线观看| 亚洲成a人片在线观看中文| 精品一区久久久久久| 久久综合色鬼综合色| 粉嫩蜜臀av国产精品网站| 欧美日韩精品一区二区三区四区| 性久久久久久久| 日本一区二区在线| 亚洲欧洲三级电影| 国产精品区一区| 国产区在线观看成人精品| av在线一区二区三区| 欧美大尺度电影在线| 久久精品久久久精品美女| 在线不卡视频一区二区| 同产精品九九九| 一区二区成人国产精品 | 蜜臀av一区二区| 亚洲一区在线免费| 日日摸夜夜添夜夜添精品视频| 欧美在线一二三区| 一区二区三区四区亚洲| 欧美一进一出视频| 亚洲国产aⅴ天堂久久| 亚洲精品成人自拍| 午夜精品久久久久久久99樱桃| 亚洲区一区二区三区| 天天影视网天天综合色在线播放| 亚洲第一导航| 日韩精品五月天| 欧美午夜精品一区| 国产综合色精品一区二区三区| 欧美日韩国产片| 在线精品亚洲一区二区| 一区二区三区在线视频观看58| 色琪琪一区二区三区亚洲区| 国产制服丝袜一区| 欧美国产日韩亚洲一区| 亚洲午夜久久久影院伊人| 国产精品小仙女| 国产精品久久三区| 在线观看日韩电影| 97se亚洲综合| 日日摸夜夜添夜夜添精品视频| 日韩欧美精品在线| 日韩中文字幕av在线| 国产91丝袜在线18| 亚洲精品一二三四区| 欧美一区二区三区不卡| 久久久久久国产精品一区| 久久国产精品99久久人人澡| 国产精品无人区| 欧美日韩三级一区| 久久精彩视频| 国产91在线看| 亚洲成人tv网| 久久精品男人天堂av| 91福利社在线观看| 精品一区二区三区国产| 国产不卡一区视频| 午夜伊人狠狠久久| 国产日产欧美一区二区三区| 色婷婷综合久久| 激情五月综合色婷婷一区二区| 国产在线播精品第三| 一区二区三区日韩精品| 久久综合九色综合97_久久久| 亚洲精品电影在线一区| av免费精品一区二区三区| 久久99久久久欧美国产| 亚洲欧美一区二区三区国产精品| 日韩一级在线观看| 91国在线观看| 欧美精品一区三区在线观看| 国产亚洲欧美色| 久久综合国产精品| 国产亚洲福利社区一区| 国产亚洲欧美日韩日本| 国产精品色呦呦| 中文字幕亚洲在| 亚洲欧美另类久久久精品2019| 亚洲色图欧洲色图| 夜夜嗨av一区二区三区网页| 一区二区高清在线| 午夜欧美视频在线观看| 日本欧美一区二区| 国产在线视频精品一区| 国产二区国产一区在线观看| 高清不卡一区二区在线| 成人性生交大片免费看视频在线 | 成人h动漫精品一区二| 91丨九色丨黑人外教| 91蜜桃网址入口| 精品久久久久亚洲| 亚洲精品日韩精品| 在线观看www91| 日韩欧美第一区| 国产欧美精品一区二区色综合 | 欧美极品另类videosde| 国产精品蜜臀在线观看| 亚洲综合色噜噜狠狠| 免费成人性网站| 国产成人a级片| 99re视频在线| 视频一区视频二区视频三区视频四区国产| 先锋影音一区二区三区| 欧美人妇做爰xxxⅹ性高电影| 日韩你懂的在线观看| 国产精品久久久久久久久晋中|