wince 驅動的理解

2021-05-26 01:14:54 字數 1325 閱讀 8744

wince 驅動的理解 1.wince 分層驅動 分為 mdd層 pdd層 mdd層為應用提供介面(ddi) pdd為mdd提供介面(ddsi) pdd 層驅動為 mdd 層驅動隱藏了具體的硬體實現 2.wince 單片驅動 單片驅動不僅直接為系統提供介面, 也直接操作硬體。相比分層驅動它可以提更高的效率。 3.wince 雜合驅動 wince驅動 按載入的模組分 可以分為: 1. 裝置管理器(device.dll )載入的驅動 、 a)由裝置管理器載入的驅動實現了流驅動的介面。流驅動的介面就是預先定義的一組 函式以提供給裝置裝置管理器來呼叫。在以流驅動方式來實現的驅動沒有裝置型別的限制。 b)流驅動的函式介面:***_init();***_deinit()…… c)流驅動的載入:注意的地方: wince 開啟流裝置的時候要注意 createfile 的裝置名稱。裝置名的後面一定要有乙個冒號 「 : 」 , 不然的話找不到對應的裝置會產生乙個錯誤。這個小的地方沒有注意導致我費了很久的時間。 其實這也不是什麼小的地方, 是我看書的時候沒有仔細。 在裝置名的一般格式是 "led1" ( 我就用 led 來表示吧!前面是三個字母, 大不大小定等乙個我再試一試。 ) 前面 的有乙個字母是登錄檔裡面的 prefix, 後面的數字 1 是 index. (重新測試了書上的一句話, 其實前面的字母並不是要全部大寫, 我 'led1' 也能夠使用。) 2. gwes(gwes.dll)載入的驅動 gwes 載入的驅動主要為系統使用 如 滑鼠 鍵盤 觸控螢幕 3. 檔案系統(filesys.dll)載入的驅動 檔案系統驅動被實現成 dll 的方式, 它預先實現了一組函式和 io 控制的函式。這些函式被標準的檔案系統 api 呼叫

函式名稱

描述***_close

在驅動程式關閉時應用程式通過closehandle函式呼叫這個函式

***_deinit

當裝置管理器解除安裝乙個驅動程式時呼叫這個函式

***_init

當裝置管理器初始化乙個具體裝置時呼叫這個函式.

***_iocontrol

上層的軟體通過deviceiocontrol函式可以呼叫這個函式

***_open

在開啟乙個裝置驅動程式時應用程式通過createfile函式呼叫這個函式

***_powerdown

在系統呼叫前呼叫這個函式

***_powerup

在系統從新啟動前呼叫這個函式

***_read

在乙個裝置驅動程式處於開啟狀態時由應用程式通過readfile函式呼叫

***_seek

對裝置的資料指標進行操作,由應用程式通過setfilepointer函式呼叫

***_write

在乙個裝置驅動程式處於開啟狀態時由應用程式通過writefile函式呼叫

wince下裝驅動

前邊說了如何在開發版上裝wince.現在我手上有乙個usb的攝像頭,為了要他能在開發板上使用,我得給他裝上驅動.產家提供了dll和需要修改登錄檔的說明.下邊說下步驟,開啟之前做wince核心定製燒寫的工程,把驅動檔案,假設叫a.dll,拷貝到工程目錄下,d wince420 public wince...

wince 驅動練習

wince 驅動練習 寫乙個 led 的驅動 準備放到流驅動中 c wince600 platform smdk2440a src drivers gpio 資料夾 複製到當前目錄並改名為 led 並修改 drivers 資料夾下dir 檔案 新增 led c wince600 platform s...

WinCE顯示驅動

wince的顯示驅動和普通的裝置驅動不一樣.普通的裝置驅動是由裝置管理器device.exe載入和管理的 而顯示驅動是由gwes.exe載入和管理的,類似的由gwes載入管理的還有鍵盤滑鼠,觸控螢幕,印表機等驅動,這些叫本地驅動 內建驅動 所以,顯示驅動ddi就不是常見裝置驅動的ddi 流介面ddi...