女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]嵌入式開發(fā)技術(shù):wince驅(qū)動開發(fā)學(xué)習(xí)筆記首先是wince驅(qū)動的分類問題。按照書上講的說CE下驅(qū)動分成單體驅(qū)動和分層驅(qū)動,而看到另一種說法是本機(jī)驅(qū)動和流式驅(qū)動。經(jīng)過microsun大哥的指點,把這兩種分類法分開了。在這里引

嵌入式開發(fā)技術(shù):wince驅(qū)動開發(fā)學(xué)習(xí)筆記

首先是wince驅(qū)動的分類問題。按照書上講的說CE下驅(qū)動分成單體驅(qū)動和分層驅(qū)動,而看到另一種說法是本機(jī)驅(qū)動和流式驅(qū)動。經(jīng)過microsun大哥的指點,把這兩種分類法分開了。在這里引用一下:

“單體與分層只是從代碼的形式上做的分類.分層驅(qū)動代碼上分為PDD與MDD,一般的微軟已經(jīng)實現(xiàn)了MDD,可能也實現(xiàn)了PDD,我們只需要對PDD做些修改就能使用,比如音頻的驅(qū)動,顯示的驅(qū)動。單層驅(qū)動是把PDD與MDD寫在一起,沒有做嚴(yán)格的區(qū)分,通常這種驅(qū)動比較簡單,比如:ATADISK。

嵌入式 嵌入式開發(fā) 嵌入式系統(tǒng) wince驅(qū)動開發(fā)

至于本地驅(qū)動和流式驅(qū)動是從驅(qū)動與系統(tǒng)其它模塊(調(diào)用者)的接口形式上做的分類.其實,本地驅(qū)動這個名稱不大恰當(dāng),可能叫專用驅(qū)動或其它名字更為合適.它是指調(diào)用它的模塊給它有特定的接口,比如電源驅(qū)動和通用LED驅(qū)動。而串口,網(wǎng)卡等就是流接口驅(qū)動程序.

所以,一個驅(qū)動程序可以是單體的流式驅(qū)動,例如:ATADISK.也可以是分層的流式: 如OHCI ”

       按照我的理解,單體和分層是驅(qū)動實現(xiàn)方式上的分類,而本地和流式則是驅(qū)動模型上的分類,所謂本地驅(qū)動就是操作系統(tǒng)有保留專門的接口,所謂流式是指編寫的DLL文件里可以導(dǎo)出各種流式接口函數(shù)。

         第二點:驅(qū)動的功能屬性。設(shè)備驅(qū)動程序是操作系統(tǒng)內(nèi)核和硬件的接口,操作系統(tǒng)定義了一組標(biāo)準(zhǔn)的接口,編寫驅(qū)動的過程也就是實現(xiàn)這些接口。從應(yīng)用程序到具體硬件間有如下這些環(huán)節(jié)起作用:應(yīng)用程序-調(diào)用OS函數(shù)-操作系統(tǒng)-驅(qū)動接口-驅(qū)動程序-硬件操作函數(shù)-硬件。在wince里驅(qū)動都以用戶態(tài)的DLL存在,需要通過進(jìn)程加載到slot里。共有三類系統(tǒng)進(jìn)程用來加載:Device.exe,GWES.exe,FileSys.exe.絕大多數(shù)設(shè)備驅(qū)動都是通過Device.exe加載的。需要注意的是,不同的OS保留的設(shè)備驅(qū)動接口是不一樣的,如桌面windows和wince就不同。

     第三點:wince下設(shè)備的初始化分為兩個階段:Device.exe的初始化;外設(shè)的枚舉和加載。其流程是:上電-啟動bootloader-啟動NK-啟動注冊表init鍵(Device.exe啟動)-初始化數(shù)據(jù)結(jié)構(gòu),I/O,電源管理等-加載BusEnum.dll(總線枚舉器)-枚舉注冊表下Driver/buildin的所有子鍵。這里的枚舉過程就是循環(huán)調(diào)用ActivateDeviceEx()函數(shù)加載驅(qū)動的過程。在OS啟動完畢后,我們可以用PB的Remote Registry Tool查看H_L_M/drivers/active包含的子鍵,看哪些驅(qū)動隨啟動而加載 。

     第四點:流接口驅(qū)動的概念。暴露流式接口函數(shù)的驅(qū)動即是流驅(qū)動,它把外設(shè)抽象成一個文件。過程是:應(yīng)用程序使用文件API對設(shè)備進(jìn)行訪問,OS接受API調(diào)用FileSys.exe,轉(zhuǎn)到device.exe,調(diào)用流接口,與硬件交互。所謂流接口函數(shù)有十個,包括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.而我們在應(yīng)用程序里對應(yīng)的文件API有CreateFile、DeviceIoControl、 ReadFile、 WriteFile,CloseHandle,SetFilePointer. 

      第五點:編寫流驅(qū)動的步驟。有兩種實現(xiàn)途徑:1。寫DLL,做成Project,加入到OS里。2。改BSP,把驅(qū)動寫在BSP里,再選擇那個BSP做OS。第一種方法步驟是在PB中新建一個DLL項目,編寫一些輸入函數(shù),寄存器,外設(shè)的聲明,寫DLLENTRY函數(shù);實現(xiàn)流接口函數(shù);編寫DLL的導(dǎo)出函數(shù)文件.DEF;為驅(qū)動程序?qū)懭胱员眄?,還需要修改bib文件。 第二種方法就是在platform/BSP/drivers下新建一個目錄,然后在drivers目錄中的dirs文件中加入新建的目錄名。在新建的目錄下,新建你的源代碼文件,在其中實現(xiàn)DLL函數(shù)。新建名稱分別為sources, makefile, ***.def的文件;修改platform.reg和platform.bib文件

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

IAR Embedded Workbench for Arm 支持全新 Arm Cortex-M85 處理器,幫助開發(fā)者為未來的物聯(lián)網(wǎng)、智能家居和 AI/ML 應(yīng)用創(chuàng)建強(qiáng)大的嵌入式開發(fā)解決方案

關(guān)鍵字: IAR Systems 處理器 嵌入式開發(fā)

隨著嵌入式技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)已經(jīng)進(jìn)入了物聯(lián)網(wǎng)時代。物聯(lián)網(wǎng)所需的大量設(shè)備并不依賴于人與人之間的交互來建立連接,更多的是通過協(xié)議、通信、編程等方式連接到一個地方。也就是說,物聯(lián)網(wǎng)的目的是使所有的物品都具有計算機(jī)智能,而不...

關(guān)鍵字: 嵌入式技術(shù) 嵌入式開發(fā) 物聯(lián)網(wǎng)

嵌入式開發(fā)是指利用分立元件或集成器件進(jìn)行電路設(shè)計、結(jié)構(gòu)設(shè)計,再進(jìn)行軟件編程(通常是高級語言),實驗,經(jīng)過多輪修改設(shè)計、制作,最終完成整個系統(tǒng)的開發(fā)。

關(guān)鍵字: 嵌入式開發(fā) 電路設(shè)計 結(jié)構(gòu)設(shè)計

星標(biāo)「嵌入式大雜燴」,一起進(jìn)步!鏈接:https://www.cnblogs.com/jozochen/p/8541714.html一、問題復(fù)現(xiàn)穩(wěn)定復(fù)現(xiàn)問題才能正確的對問題進(jìn)行定位、解決以及驗證。一般來說,越容易復(fù)現(xiàn)的問...

關(guān)鍵字: 嵌入式開發(fā) 函數(shù) 代碼 寄存器

信息時代,數(shù)字時代使得嵌入式產(chǎn)品獲得了巨大的發(fā)展契機(jī),為嵌入式市場展現(xiàn)了美好的前景,同時也對嵌入式生產(chǎn)廠商提出了新的挑戰(zhàn),從中我們可以看出未來嵌入式系統(tǒng)的幾大發(fā)展趨勢。

關(guān)鍵字: 信息時代 嵌入式開發(fā) 網(wǎng)絡(luò)化

星標(biāo)「嵌入式大雜燴」,一起進(jìn)步!作者:RT-Thread社區(qū)團(tuán)隊?liukang原文鏈接:https://club.rt-thread.org/ask/article/2944.htmlRust是什么Rust是一門賦予每...

關(guān)鍵字: 嵌入式開發(fā)

嵌入式系統(tǒng)是計算機(jī)軟件和硬件的綜合體,崗位包括:ESE(嵌入式軟件工程師);ADE(嵌入式應(yīng)用開發(fā)工程師);FWE(嵌入式底層開發(fā)工程師);FEC(嵌入式固件開發(fā)工程師),你可以先下載全套嵌入式視頻課自學(xué),看是否感興趣。...

關(guān)鍵字: 嵌入式開發(fā) C語言

學(xué)習(xí)嵌入式就業(yè)前景廣泛,你可以做手機(jī)、PDA、MP3、MP4、遙控玩具、psp、相機(jī)、家電控制(洗衣機(jī)、電飯煲等)、汽車導(dǎo)航儀,只要跟電子控制相關(guān)的。此外,嵌入式這個行業(yè)也利于個人創(chuàng)業(yè),這也是為什么越來越多的人參加 嵌入...

關(guān)鍵字: 嵌入式開發(fā) C語言

在嵌入式開發(fā)中,代碼的體積和運行效率非常重要,代碼體積往往和芯片的FLASH、RAM容量對應(yīng),程序的運行效率也要求在相應(yīng)能力的處理器上運行。在大多數(shù)情況下,成熟的開發(fā)人員都希望降低代碼體積、提高代碼運行效率,然而具體該怎...

關(guān)鍵字: IAR Systems 嵌入式開發(fā) 編譯器

星標(biāo)「嵌入式大雜燴」,一起進(jìn)步!作者:RT-Thread社區(qū)團(tuán)隊?liukang原文鏈接:https://club.rt-thread.org/ask/article/2944.htmlRust是什么Rust是一門賦予每...

關(guān)鍵字: 嵌入式開發(fā)

充電吧

89209 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉