版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)2024/3/14項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)重點(diǎn)和難點(diǎn)重點(diǎn)擴(kuò)展各類存儲(chǔ)卡的基本方法難點(diǎn)設(shè)備管理器擴(kuò)展存儲(chǔ)卡的基本原理項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)設(shè)備管理器項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)設(shè)備管理器設(shè)備管理器是一個(gè)用戶態(tài)下的進(jìn)程,而非操作系統(tǒng)內(nèi)核的一部份。設(shè)備管理器是WindowsCE設(shè)備管理的核心,負(fù)責(zé)對(duì)所有設(shè)備的驅(qū)動(dòng)程序的管理。雖然不是內(nèi)核中的進(jìn)程,但設(shè)備管理器在WindowsCE中的地位非常重要。項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)設(shè)備管理器組件設(shè)備管理器由Device.exe和Devmgr.dll組成。Device.exe包含Devmgr.dll,后者實(shí)現(xiàn)了核心設(shè)備管理器功能。設(shè)備管理器的源代碼可以在以下目錄下看到C:\WINCE500\PRIVATE\WINCEOS\COREOS\DEVICEDevice.exe在系統(tǒng)啟動(dòng)時(shí)通過如下注冊(cè)表項(xiàng)加載[HKEY_LOCAL_MACHINE\init]"Launch20"="device.exe“項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)設(shè)備管理器的任務(wù)(1)加載驅(qū)動(dòng)程序的DLL文件到Device.exe進(jìn)程的地址空間內(nèi)。系統(tǒng)啟動(dòng)或新設(shè)備接入時(shí)加載該設(shè)備的驅(qū)動(dòng)程序;不需要該設(shè)備時(shí),卸載其驅(qū)動(dòng)程序。例如,在用戶插入一個(gè)SD卡時(shí),設(shè)備管理程序就試圖尋找該SD卡的驅(qū)動(dòng)程序并加載。項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)設(shè)備管理器的任務(wù)(2)統(tǒng)一管理驅(qū)動(dòng)程序,通過讀寫注冊(cè)表加載、跟蹤驅(qū)動(dòng)程序。實(shí)現(xiàn)并提供用戶設(shè)備管理的API函數(shù),應(yīng)用程序可以通過這些函數(shù)對(duì)設(shè)備進(jìn)行訪問。提供電源管理接口。提供對(duì)I/O資源的管理。項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)設(shè)備的初始化WindowsCE的設(shè)備初始化分為兩個(gè)階段。首先是Device.exe的初始化。其次是外設(shè)的枚舉和加載。項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)Device.exe的啟動(dòng)WindowsCE在設(shè)備上啟動(dòng)后,操作系統(tǒng)內(nèi)核NK.exe首先運(yùn)行,NK會(huì)根據(jù)注冊(cè)表項(xiàng)[HKEY_LOCAL_MACHINE\init] 依次啟動(dòng)一些程序。Device.exe啟動(dòng)后,進(jìn)行自身初始化工作,以完成設(shè)備管理功能。項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)Device.exe的初始化Device.exe啟動(dòng)后初始化所用到的一些數(shù)據(jù)結(jié)構(gòu)。初始化I/O資源管理器。初始化電源管理器。根據(jù)注冊(cè)表的設(shè)置,加載BusEnum.dll,讓NusEnum.dll負(fù)責(zé)加載和初始化所有的內(nèi)置設(shè)備。控制權(quán)交給BusEnum,Device.exe任務(wù)完成。項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)BusEnum.dllBusEnum.dll稱為總線枚舉器,主要完成外設(shè)的枚舉和加載。WindowsCE提供了BusEnum.dll的源代碼,在如下的文件夾下C:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\BUSENUM\BUSENUMBusEnum.dll是可重入的。仔細(xì)分析下其源代碼。項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)BusEnum.dll的加載Device.exe啟動(dòng)后,會(huì)在注冊(cè)表項(xiàng)[HKEY_LOCAL_MACHINE\Drivers\RootKey] 下讀取BusEnum.dll。通常RootKey的值為Driver\BuiltIn。根據(jù)RootKey的值,Device.exe會(huì)加載總線枚舉器BusEnum.dll。BusEnum.dll加載是通過ActiveDeviceEx函數(shù)加載的。項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)外設(shè)的枚舉和加載BusEnum.dll加載后,ActiveDeviceEx函數(shù)調(diào)用BusEnum.dll的導(dǎo)出函數(shù)Init()。Init()會(huì)根據(jù)注冊(cè)表的設(shè)置,會(huì)遍歷[HKEY_LOCAL_MACHINE\Drivers\BuiltIn]下的所有子鍵,并加載相應(yīng)的驅(qū)動(dòng)程序。驅(qū)動(dòng)程序加載后,會(huì)根據(jù)加載的順序在注冊(cè)表子鍵[HKEY_LOCAL_MACHINE\Drivers\Active]添加一個(gè)子鍵記錄已加載的驅(qū)動(dòng)程序。項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)ActiveDeviceEx函數(shù)ActiveDeviceEx函數(shù)對(duì)于加載驅(qū)動(dòng)程序非常重要,根據(jù)注冊(cè)表信息加載驅(qū)動(dòng)程序的過程就是由該函數(shù)完成的。卸載驅(qū)動(dòng)是通過DeactiveDevice完成的。課程中安排有利用該函數(shù)加載驅(qū)動(dòng)程序的完整實(shí)例。項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)ActiveDeviceEx函數(shù)原型接口HANDLEActivateDeviceEx(LPCWSTRlpzaDevKey,//指向該設(shè)備驅(qū)動(dòng)程序在注冊(cè)表中的注冊(cè)鍵的路徑LPCVOIDlpRegEnts,//REGINI結(jié)構(gòu)數(shù)組頭指針DWORDcRegEnts,//REGINI結(jié)構(gòu)數(shù)組成員個(gè)數(shù)LPVOIDlpvParam,//通常為NULL);返回當(dāng)前驅(qū)動(dòng)程序注冊(cè)的句柄項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)內(nèi)置設(shè)備與PnP設(shè)備內(nèi)置設(shè)備必須在生成NK.bin前將設(shè)備驅(qū)動(dòng)程序的相關(guān)信息加入到注冊(cè)表下[HKEY_LOCAL_MACHINE\Drivers\BuiltIn] 以調(diào)用BusEnum.dll實(shí)現(xiàn)啟動(dòng)系統(tǒng)時(shí)加載。對(duì)于即插即用設(shè)備(PnP),BusEnum.dll負(fù)責(zé)在設(shè)備接入時(shí),即時(shí)加載該設(shè)備的驅(qū)動(dòng)程序。項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)擴(kuò)展SD等存儲(chǔ)卡項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)擴(kuò)展SD卡定制一個(gè)內(nèi)核,BSP基于BVDMAIN,在Availabledesigntemplates上選擇MobileHandheld。添加USB組件從Catalog->CoreOS->WindowsCEDevices->CoreOSServices->USBHostSupport中添加USBStorageClassDriver。添加FAT組件從Catalog->CoreOS->WindowsCEDevices->FileSystemsandDataStore->StorageManager中添加FATFileSystem。項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)測(cè)試SD卡重新編譯內(nèi)核,生成新的NK.bin。如果WindowsCE識(shí)別了SD卡,在根目錄下,能看到“已裝入的卷”,如果沒有找到,請(qǐng)將SD卡拔了,再試著插上,直到找到SD卡。編寫測(cè)試程序,嘗試對(duì)SD卡進(jìn)行讀寫。再插入你的U盤試試?項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)擴(kuò)展CF卡添加塊設(shè)備組件查閱手冊(cè)添加CF組件查閱手冊(cè)項(xiàng)目8SD卡讀寫PDA擴(kuò)展存儲(chǔ)卡的實(shí)現(xiàn)測(cè)試CF卡重新編譯內(nèi)核,生成新的NK.bin。如果Windows
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版高校專利技術(shù)轉(zhuǎn)讓合同
- 2024-2030年中國大棗飲料行業(yè)銷售模式及投資盈利預(yù)測(cè)報(bào)告
- 2024-2030年中國城市電視臺(tái)行業(yè)發(fā)展策略及投資運(yùn)作模式分析報(bào)告
- 2024年農(nóng)業(yè)產(chǎn)業(yè)投資合同擔(dān)保協(xié)議3篇
- 2024年校園水電設(shè)施改造與維護(hù)服務(wù)合同3篇
- 馬鞍山師范高等??茖W(xué)校《物聯(lián)網(wǎng)應(yīng)用概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年創(chuàng)新創(chuàng)業(yè)項(xiàng)目投資評(píng)估與咨詢服務(wù)協(xié)議3篇
- 2024年度自動(dòng)駕駛汽車勞動(dòng)合同與聘用合同3篇
- 2024年標(biāo)準(zhǔn)化信息技術(shù)外包服務(wù)合同一
- 2024年度行政合同科技創(chuàng)新合同糾紛救濟(jì)與保障協(xié)議2篇
- 機(jī)器學(xué)習(xí)(山東聯(lián)盟)智慧樹知到期末考試答案章節(jié)答案2024年山東財(cái)經(jīng)大學(xué)
- 德勤公司概況簡介
- DB32∕T 2156-2012 電梯能耗測(cè)試及能效分級(jí)
- 瀝青路面日常養(yǎng)護(hù)及維修施工要點(diǎn)(大量附圖共143頁)
- 《色彩基礎(chǔ)知識(shí)》PPT課件(詳解)
- 《保健按摩師》(二級(jí))理論知識(shí)鑒定要素細(xì)目表
- 甘蔗制糖簡介
- 三秦出版社五年級(jí)上冊(cè)綜合實(shí)踐教案
- 屋頂分布式光伏項(xiàng)目安全文明施工控制措施
- 水泥保證供應(yīng)實(shí)施方案及服務(wù)承諾書
- 2022機(jī)要密碼工作總結(jié)機(jī)要室工作總結(jié).doc
評(píng)論
0/150
提交評(píng)論