驅動開發學習 2

2021-04-18 10:50:38 字數 1153 閱讀 9111

利用 driverstudio 的 driverwizard 生成了驅動,研究了一天.整個研究了個雲裡霧裡.摸不著一點頭緒.發現走入了誤區,又要學習ddk 又要搞清楚driverstudio的框架.所以難度太大.決定扔掉driverstudio從ddk入手.

做了乙個世上最簡單的驅動程式。

#pragma code_seg("init") // start init section

ntstatus

driverentry(

in pdriver_object driverobject,

in punicode_string registrypath

)

#pragma code_seg() // end page section

編譯成功!

使用ezdriverinstaller載入居然ok(注意hardware 中要添deviceid)!

總結:

1.裝置管理器中顯示的名稱是由inf檔案中

[manufacturer]

%mfgname% = vkeyboard_mfg

[vkeyboard_mfg]

; displayname

section           deviceid

%vkeyboard_devicedesc%=vkeyboard_ddi, vkeyboarddevice

[strings]

vkeyboard_devicedesc = "vkeyboard device"

實現的。

詳細資訊中的「硬體

id」為上例中的vkeyboarddevice

詳細資訊中的「匹配裝置

id」為上例中的vkeyboarddevice

詳細資訊中的「服務」為

vkeyboard

驅動開發學習筆記2

嘗試在a9開發板執行裸機程式,在這個過程加深對程式執行的 了解。目的 在a9平台裸機執行跑馬燈程式 led.c是邏輯功能 led.lds.為記憶體布局檔案,makefile指定編譯規則 start.s檔案進行記憶體空間分配,通過一系列操作生成led.bin檔案。這個bin檔案提供給後面bl2的製作,...

arm linux驅動開發學習2

驅動測試階段 wifi模組始終無法載入成功,usb wifi插上之後,始終無法顯示wifi網路資訊 lib modules 4.1.15 ifconfig a eth0 link encap ethernet hwaddr00 04 9f 04 d2 35 inet addr 192.168 1.5...

Asio驅動開發學習筆記 2

假設有一usb音效卡,支援asio,如何實現asio驅動呢?1 實現register註冊 此處省略,可參考asio官方sample。2 實現class usbasio public iasio,public cunknown的 init createbuffers start stop dispos...