搭建VS2008+WDK+DDKWzard windows驱动开发环境


一、微软驱动开发之-WDK的介绍、下载、安装及配制

1、关于WDK

Windows Driver Kit(驱动程序工具包): 是一种完全集成的驱动程序开发系统,它包含 Windows Driver Device Kit (DDK),用于测试 Windows 驱动程序的可靠性和稳定性,包括:

  • Windows Driver Foundation (WDF) 简化了 Windows 驱动程序的开发和支持。
  • 头文件重构 (Windows Vista 和更高版本)通过提供更简单的目录结构、避免声明冲突以及对所有支持的 Windows 版本使用单一头文件集,降低头文件的复杂性。
  • Installable File Systems (IFS) Kit将头、库、示例以及文档作为 WDK 的一部分分发。
  • 验证程序和静态分析工具, (如 PREfast 和 静态驱动程序验证程序)帮助您在编译时查找 bug。

2、下载WDK

所以当时下载的时候还要走一些不得不走的路。不过,今天好像发现WDK能直接下载了

下载地址:http://www.microsoft.com/en-us/download/search.aspx?q=WDk

如果不能正常下载,具体操作请见如何下载WDK

3、安装WDK驱动开发包

  1. 用虚拟光驱加载下载好的WDK.ISO镜像文件,双击运行,出现下面亲切的画面安装WDK驱动开发包
  2. 点击出现以下画面,在左侧的树形复选框中选择要安装的组件及工具,选择所要安装的组件及工具,建议全部安装,然后点击“OK”
  3. 安装WDK的组件及工具
  4. 最后一路确定默认即可安装WDK的步骤

 

二、DDKWzard的介绍、下载、安装及配制

在VS2008 IDE中没有提供驱动开发的项目选项,当然可以用普通工程,然后手动在VS中配制相应的编辑连接以及调试选项,但是如此一来,每次都要重复这些复杂的步骤。在http://ddkwizard.assarbad.net/网站上发现了一个很好用的辅助工具DDKWizard,能够方便地对开发环境进行配置,懒人必备,作者也是懒人一族,才开发此驱动开发辅助工具。

  • DDKwzard安装需要三个文件:DDKWzard主程序:安装VS2008的项目模板ddkwizard_setup.exe
  • DDKBUILD.CMD:应该是用VS2008调用WDK编辑编译器的一系列脚本dkbuild_cmd.zip
  • DDKBUILD.BAT :估计也是是用VS2008调用WDK编辑编译器的一系列脚本ddkbuild_bat.zip
  1. 安装ddkwizard_setup,默认安装,一路Next点过即可,将DDKBUILD.CMD与DDKBUILD.BAT考到WDK的安装目录,或者其它目录也行,只要在后续的设置就行。如:我将其放在wdk的目录下,如图
    安装ddkwizard

设置环境变量

添加相应的环境变量,如要开发XP系统下的驱动则添加WXPBASE,变量值为WDK的根目录,如图
添加WDK相应的环境变量

如果为其它系统开发驱动则填写相应的环境变量

  • NT 4.0 ———–NT4BASEwindows2000—-W2KBASE
  • windowsXP——-WXPBASE
  • windows2003—-WNETBASE
  • win7/2008 R2—-W7BASE
  1. 打开VS 2008,菜单“工具”->“选项”->左侧“项目和解决方案”->“VC++目录”->右侧“可执行文件”下拉列表->添加一项D:/WINDDK(根据你在a安装的实际路径,就是第1步中DDKBUILD.CMD与DDKBUILD.BAT所在的路径)。
    image_thumb_7
  2. 然后就可以在我们的VS2008中新建项目了,如下图,在Visual C++选项卡中多了DDK Project的项目类型,选择相应的模板添加我们的项目,点击确定
    image_thumb_8
  3. 确定后出现DDKWzard的项目创建页面,在“Choose the DDKBUILD you want to use”中选择“ddkbuild.cmd”或者“ddkbuild.bat”,在其下面选择我们要为哪个平台(win2000, winxp, Vista, Win7……)开发的驱动。
    最后finish
    DDKWzard的项目创建页面选择开发平台

  4. 在解决方案中便是由DDKWzard为我们自动生成的一个简单的驱动程序框架。

    DDKWzard自动生成驱动程序框架

  5. 最后点击F6生成解决方案,成功生成后在项目的objchk_win7_x86/i386文件夹下会生成几个文件

    driver1.obj —编译生成的2进制文件
    driver1.pdb—用于调试时使用的符号文件
    vc90.pdb—–用于调试时使用的符号文件
    driver1.sys—就是我们拭目以待的驱动程序文件

也许您还对以下文章有兴趣:
此条目发表在 Linux驱动开发 分类目录,贴了 , , , 标签。将固定链接加入收藏夹。

发表评论