zoukankan      html  css  js  c++  java
  • 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_MACHINESYSTEMCurrentControlSetControlSession ManagerDebug Print Filter]
    "DEFAULT"=dword:0000000f
    

    将以上信息复制到文件.后缀名改为reg 运行即可.

  • 相关阅读:
    为lvm逻辑分区扩容
    Linux性能优化课程笔记-CPU性能工具
    Linux性能优化课程笔记-bcc工具
    nmcli命令添加bond网口
    IPv6地址冲突
    mongodb的审计功能
    BIND支静态存根区域
    git的使用(2)
    全世界都在学python-打开文件
    java操作mongodb时,对象bean和DBObject相互转换的方法
  • 原文地址:https://www.cnblogs.com/iBinary/p/13055364.html
Copyright © 2011-2022 走看看