




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
如何訪問硬件第1頁,課件共10頁,創作于2023年2月常用的I/O資源類型資源類型處理概述Port可能映射I/O端口范圍;應在設備擴展中保存端口范圍基址Memory映射內存范圍;應在設備擴展中保存內存范圍基址Dma調用IoGetDmaAdapter函數創建適配器對象Interrupt調用IoConnectInterrupt函數創建中斷對象,中斷對象指向ISR(中斷服務例程)第2頁,課件共10頁,創作于2023年2月第3頁,課件共10頁,創作于2023年2月訪問端口和內存寄存器的HAL函數第4頁,課件共10頁,創作于2023年2月讀寫I/O端口UCHARREAD_PORT_UCHAR(INPUCHARPort);ULONGREAD_PORT_ULONG(INPULONGPort);USHORTREAD_PORT_USHORT(INPUSHORTPort);VOIDWRITE_PORT_UCHAR(INPUCHARPort,INUCHARValue);VOIDWRITE_PORT_USHORT(INPUCHARPort,INUSHORTValue);VOIDWRITE_PORT_ULONG(INPUCHARPort,INULONGValue);如果設備要求將其寄存器映射到I/O地址空間,則對于具有獨立的I/O地址空間的CPU(如Intel)會滿足其要求;而對于沒有獨立的I/O地址空間的CPU則將其映射到內存地址空間。開發人員不用關心這些細節,只須用READ_PORT_XXX函數或WRITE_PORT_XXX訪問該寄存器就可以了。第5頁,課件共10頁,創作于2023年2月第6頁,課件共10頁,創作于2023年2月配置中斷typedefstruct_DEVICE_EXTENSION{...PKINTERRUPTInterruptObject;}DEVICE_EXTENSION,*PDEVICE_EXTENSION;ULONGvector;//中斷向量KIRQLirql;//中斷請求級KINTERRUPT_MODEmode;//中斷觸發模式(電平/邊緣)KAFFINITYaffinity;//CPU親和性BOOLEANirqshare;//是否與其它設備共享............(接下頁)第7頁,課件共10頁,創作于2023年2月配置中斷status=IoConnectInterrupt(&pdx->InterruptObject,//存放內核中斷對象的內存地址
(PKSERVICE_ROUTINE)OnInterrupt,//中斷服務例程
(PVOID)pdx,//傳遞給ISR的上下文參數
NULL,//當設備有多個中斷時必須提供一個自旋鎖
vector,//中斷向量
irql,//中斷請求級
irql,//驅動中其它例程與ISR同步時將被提高到該級別
mode,//中斷觸發模式(電平/邊緣)irqshare,//是否與其它設備共享中斷
affinity,//該中斷的CPU親和掩碼
FALSE);//是否需要操作系統保存浮點上下文第8頁,課件共10頁,創作于2023年2月中斷服務例程的實現當設備生成中斷時,HAL將基于你指定的CPU親合掩碼選擇一個CPU來服務這個中斷。然后該CPU的IRQL提升到合適的同步級并請求一個與中斷對象關聯的自旋鎖。最后調用ISR因為有可能多個設備共享一個中斷向量,所以在ISR中首先應該判斷是否是自己的設備產生了中斷。如果不是則返回FALSE,以便HAL能把中斷送往其它設備驅動程序。如果是,應該先清除該中斷然后返回TRUE。ISR執行在高于DISPATCH_LEVEL的IRQL上。因此ISR中使用的所有代碼和數據必須存在于非分頁內存中,此外,ISR只能調用有限的內核服務函數。在ISR中應該做盡量少的工作,如果有大量的工作應該請求一個DPC來完成。第9頁,課件共10頁,創作于2023年2月中斷服務例程的實現BOOLEANOnInterrupt(PKINTERRUPTInterruptObject,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學畢業論文答辯范文黑板粉筆效果
- 解析匯編化學-11化學實驗基礎
- 2025年江西省中考數學試卷
- 設備的維修與管理
- 廣東省惠州市五校2024-2025學年高二下學期第二次聯考生物試卷(有答案)
- 幼兒園春天教案《歌唱春天》
- 【高中語文】高一下學期天一聯考語文試題分析課件
- 部編版六年級上冊第三單元《竹節人》教案
- 建筑施工特種作業-建筑起重機械安裝拆卸工(塔式起重機)真題庫-8
- 日語話題題目大全及答案
- 2025年高考化學湖北卷試題真題解讀及復習備考指導(精校打印)
- 2025年連云港市中考數學試題卷(含答案)
- 2024初級會計職稱考試《經濟法基礎》真題和答案
- CJ/T 358-2019非開挖工程用聚乙烯管
- 2025年遼寧省沈陽市于洪區中考數學二模試卷
- 輻射安全與防護培訓考試題庫及答案
- 理論聯系實際闡述文化在社會發展中具有什么樣的作用?參考答案四
- 四川雅安天立學校2025年七下數學期末預測試題含解析
- 2025年度汽車維修企業員工保密及競業禁止合同范本
- 國網35條嚴重違章及其釋義解讀課件
- 供電一把手講安全課
評論
0/150
提交評論