1. 程式人生 > >bsp開發之驅動開發

bsp開發之驅動開發

管理器 特定 事件 drivers 一段時間 服務 orm reg 功能

驅動程序是可以管理虛擬設備或者物理設備,協議,服務等得軟件模塊,操作系統僅僅有通過驅動程序才幹訪問硬件。針對windows ce開發設備驅動。就是通過platform builder創建一個新的平臺,然後依據硬件平臺的須要插入或者移除驅動,須要改動的文件有platform.bib,platform.reg。

按載入方式和接口分類,基於windows ce的驅動程序能夠分為一下三類:

(1) 本機驅動程序

它是微軟開發並由系統直接支持。適用於集成到ce平臺的設備。

(2) 流接口驅動程序

流接口驅動程序又稱為可安裝驅動(Installable Drivers)。它具有較好的可移植性和可擴展性。由設備管理器獨立出來管理和統籌。流接口驅動程序我們會在之後的博客中再做介紹。

(3) 混合型驅動程序

同一時候又定制式和流驅動兩套程序接口,可是和系統交互僅僅使用流式驅動接口。

談到驅動,我們不得不提一下中斷。

與其它計算機結構一樣,當設備須要驅動程序的服務時,基於windows ce.ney的平臺要使用中斷通知操作系統。Windows ce.net 把中斷處理分為兩部分:中斷服務例行程序(ISR)和中斷服務線程(IST)。

(1) ISR

ISR的主要功能就是將一個物理中斷映射為一個邏輯中斷值。當ISR通知內核一個特定的邏輯中斷值時。內核檢查內核中斷表,將這個邏輯中斷映射為一個事件句柄。一個事件就是一個標準的win32同步對象,當一些特定的事件發生時。它作為一個警報時鐘喚醒一個線程。這時。內核通過調用win32函數PulseEvent來喚醒特定的正在等待該事件的IST,由IST完畢詳細的中斷處理工作。

(2) IST

在windows ce的中斷機制中,有ist詳細處理中斷的事務性工作。

當內接到ISR傳來的中斷標識後,發出一個中斷事件,激活一個處於該事件等待狀態的一個IST。一段時間後,調度器將調度這個線程工作,處理中斷的事物。

bsp開發之驅動開發