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 去下载即可.

拖动到最下方

WDK7600编译器环境配置

或者去我的百度网盘下载: 链接: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都在菜单有一个命令行. 只需要打开命令行键入命令即可.

界面如下:

WDK7600编译器环境配置

我们编写的平台一般是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 运行即可.

上一篇:spring boot 入口源码分析


下一篇:Spark Straming 集成Flume实例