WDK1 1 開發環境搭建

2021-09-26 07:06:16 字數 1620 閱讀 9473

1.1.1. 簡述

wdf是微軟提出的全新驅動程式模型,它提供了物件導向、事件驅動的驅動程式開發框架,對它的研究是設計高效穩定裝置驅動程式的基礎。

wdf(windows driver foundation)是微軟提出的下一代全新的驅動程式模型,它是在wdm(windows driver model)的基礎上發展而來的,支援物件導向、事件驅動的驅動程式開發,提供了比wdm更高層次抽象的高度靈活、可擴充套件、可診斷的驅動程式框架。wdf框架管理了大多數與作業系統相關的互動,實現了公共的驅動程式功能(如電源管理、pnp支援),隔離了裝置驅動程式與作業系統核心,降低了驅動程式對核心的影響。

wdf提供了兩個框架:kmdf(核心模式驅動程式框架)和umdf(使用者模式驅動程式框架)

本筆記使用開發只涉及kmdf框架,工具是基於virtual studio 2017的 wdk10開發。

1.1.2. wdf開發工具安裝

(2) 安裝完成後顯示如下圖

[外鏈轉存失敗(img-rivax9rb-1566134683240)(./img/1.png)]

1.1.3. wdf 除錯環境

window驅動開發除錯環境支援真機除錯和虛擬機器除錯。除錯方式主要分為兩大類本機除錯、雙機除錯。雙機除錯通訊方式有可以分為串列埠通訊、網路通訊、usb通訊等方式。

win7系統支援串列埠通訊,但不支援網路通訊;

win10系統支援串列埠通訊,同事也支援網路通訊方式。方便後面在真機上的除錯開發。

1.1.4. 雙機除錯

(1)安裝wdk後,將安裝包中聯調驅動程式安裝。

c:\program files (x86)\windows kits\10\remote\x64\wdk test target setup x64-x64_en-us     //64位除錯驅動包

c:\program files (x86)\windows kits\10\remote\x86\wdk test target setup x86-x86_en-us     //32位除錯驅動包

(2)虛擬機器串列埠除錯配置

設定–>新增–>串型介面–>輸出到命名管道; 建立命名管道後,再配合虛擬系統上的引導屬性,將除錯資訊

串列埠輸出。

[外鏈轉存失敗(img-lx5t77oa-1566134683251)(./img/2.png)]

(3)虛擬機器上配置串列埠通訊

在電腦上執行命令視窗輸出msconfig

[外鏈轉存失敗(img-q01pki5a-1566134683252)(./img/3.png)]

然後選擇引導項中設定相關屬性;從筆記中當前系統中只有乙個可引導的系統;在實際除錯中,還可以通過bcdedit建立系統副本。 為什麼使用系統副本,如何使用系統副本將在下一章詳細說明。

[外鏈轉存失敗(img-7oinord9-1566134683252)(./img/4.png)]

[外鏈轉存失敗(img-bxexiu48-1566134683253)(./img/5.png)]

設定完成後,儲存重啟系統。

1.1.5. 本節總結

wdk開發環境比較複雜,對於沒有window驅動開發基礎,學習起來比普通應用程式開發難度是極大的。本章也是針對wdk開發環境進行簡單流程性表述,可根據筆記中的步驟,完成每乙個步驟;從而搭建好wdk開發環境。要點:

1 1搭建開發環境

安裝pip 訪問鏈結使用python執行get pip.py檔案 pip install 某個包的名稱 使用pip安裝pipenv pip install pipenv 在linux或macos系統中使用sudo以全域性安裝 sudo pip install pipenv 虛擬環境通常使用virtu...

vs2012 wdk8 0 搭建wdf驅動開發環境

開發環境搭建 系統 win7 x64 工具 vs2012 wdk8.0 外掛程式 wdfcoinstaller.msi 1 先安裝vs2012,再安裝wdk8.0,這樣在開啟vs2012時可以建立windows drivers型別的工程。注 vs2012不能安裝wdk8.1,wdk8.1必須安裝在v...

Go筆記 1 1 Go開發環境搭建

golang的學習開始,就是開發環境的搭建。我正在學習酷酷的 golang,可點此檢視帖子golang學習筆記彙總。在完成安裝包的安裝之後,你只需要配置 gopath這乙個環境變數就可以開始使用 go 語言進行開發了,其它的環境變數安裝包均會進行自動設定。在預設情況下,go 將會被安裝在目錄c go...