Wdk7600 驅動開發環境配置
一丶簡介
在X64縱橫的年代.很多人都直接使用VS+WDK配套的環境去開發驅動了. 這樣是好事.說明驅動開發更快捷了.但是你開發的驅動是不能兼容所有系統的. 如XP 很多人說XP已經淘汰了.兼容不兼容無所謂了.
這樣也可以.說明你沒有需求.沒有需求是在XP下運行你的驅動. 這里也簡單說下. WDK7600配置好的環境.編譯出的驅動. 是可以在xp - win10下跑的.也能更加兼容.
二丶WDK7600的下載與安裝.
2.1 WDK下載
去MSDN https://docs.microsoft.com/en-us/windows-hardware/drivers/other-wdk-downloads 去下載即可.
拖動到最下方
或者去我的百度網盤下載: 鏈接:https://pan.baidu.com/s/16ZVDcc_dTq0QzDoKicoX8g
提取碼:xtl3
復制這段內容后打開百度網盤手機App,操作更方便哦
2.2 WDK安裝
WDK7600 是一個ISO文件,win10下直接安裝即可. 在win7下你需要下載一個虛擬鏡像的軟件.進行安裝.
我的度盤下載
鏈接:https://pan.baidu.com/s/16BvhbmaJTQZ0HFv6dDVKCQ
提取碼:e757
然后根據提示一步一步安裝即可.
三丶SOURCES 文件的解析
3.1 SOURCES
在WDK7600的年代下.開發驅動都是 找個編輯器寫代碼.然后利用WDK編譯器進行編譯的.
而SOURCES則是指明你編譯的驅動的各種信息.
如下:
TARGETNAME=你編譯之后驅動的名字
TARGETPATH=你編譯之后驅動存放在哪里的路徑
TARGETTYPE=指明你編譯的驅動的類型
INCLUDES=XXXinc
PRECOMPILED_INCLUDE=precomp.h
DRIVERTYPE=指明了驅動類型
TARGETLIBS=指明你編譯的代碼用所用的LIB庫的路徑
MSC_WARNING_LEVEL=指明代碼的嚴謹程度,4是警告視為錯誤
AMD64_SOURCES=指明X64下的asm文件
SOURCES=指明你的驅動源代碼
示例如下:
TARGETNAME=FistDriver
TARGETPATH=release
TARGETTYPE=DRIVER
INCLUDES=XXXinc
PRECOMPILED_INCLUDE=precomp.h
DRIVERTYPE=FS
TARGETLIBS==$(TARGETLIBS) \
$(DDK_LIB_PATH)\abc.lib
MSC_WARNING_LEVEL=/W4/WX
AMD64_SOURCES=a.asm \
b.asm
SOURCES=a.c \
b.c
上面的意思如下:
1.指明我編譯之后,驅動的名字為 FristDriver
2.指明了我編譯之后把驅動放在Debug目錄下
3.指明了我編譯的類型是驅動類型
4.指明了我要包含的inc文件
5.指明了我要編譯的.h文件
6.指明了驅動類型
7.指令了我要把abc.lib編譯到驅動中
8.指明了警告等級為4級,警告視為錯誤.
9.因為x64下代碼中不能內聯匯編了.所以必須提供單獨的asm文件.這個字段是可以指定單獨的文件
10.指明了我要編譯的驅動代碼有 main.c 1.c 2.c 這里我用 \分割 多個文件就用多個\分割
以上是列出的字段. 其實編寫簡單的子段就可以編譯驅動.其余的可以省略
如下:
TARGETNAME=Frist
TARGETPATH=Release
TARGETTYPE=DRIVER
SOURCES=FristHello.c
關於字段的詳解了解,可以參考如下文章.
https://www.cnblogs.com/spinsoft/archive/2012/06/16/2551883.html
四丶MakeFile
對於驅動來說,一個要提供一個MakeFile文件. 關於MarkFile 網絡上也很多講的.但是編譯驅動一般給一個就行.是不變的.
!IF 0
Copyright (C) Microsoft Corporation, 1999 - 2002
Module Name:
makefile.
Notes:
DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source
file to this component. This file merely indirects to the real make file
that is shared by all the components of Windows NT (DDK)
!ENDIF
!INCLUDE $(NTMAKEENV)\makefile.def
五丶WDK編譯程序
安裝好的WDK都在菜單有一個命令行. 只需要打開命令行鍵入命令即可.
界面如下:
我們編寫的平台一般是x86與x64平台. 所以不要選擇 ia64
而兩個平台也各有一個 debug編譯模式與 release模式. (checked 是Debug模式) (Free 是 Release模式) 根據自己的選擇即可
命令如下:
切換到你的源碼目錄 輸入
bld 編譯所有的源碼文件
六丶 win7下 DebugView不顯示調試信息
在xp下.我們想看驅動里面的DbgPrintf輸出的信息.直接打開DebugView即可.
在win7及以上需要管理員啟動.並且選擇監視核心輸出. 但是這樣還沒發輸出.那么我們就需要修改注冊表.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter]
"DEFAULT"=dword:0000000f
將以上信息復制到文件.后綴名改為reg 運行即可.