WDK7600編譯器環境配置


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 運行即可.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM