您的位置:首页 > 其它

Win7 环境下如何配置驱动开发环境

2014-06-19 20:38 495 查看
一、下载和安装WDK

微软向第三方开发者提供了驱动的程序的开发接口,开发者可以通过安装WDK来获得这些接口。Windows Driver Kit Version 7.1.0 可以从微软的官方网站上免费的下载,下载的网址是点击打开链接

WDK的安装过程比较简单,按照默认的安装选项安装即可到合适的目录下即可,默认的情况下会安装到C盘下,你也可以指定到其它的盘下面。WDK安装成功后会在安装盘下生成一个WinDDK的目录。在开始菜单栏中有一个Windows Driver Kits一项,下面有针对不同的windows版本的编译工具和帮助文档。这些编译工具用来编译驱动程序,而帮助文档是我们学习驱动开发非常好的学习资料。

这是开始菜单中的WDK的启动项

 



这是WDK的帮助文档的界面



 

二、配置驱动程序代码的编辑环境

编写驱动程序需要用到许多内核模式的函数和数据结构,开发者不可能记住所有这个复杂的数据结构和函数,也不可能用记事本来编写驱动程序.下面就讲一下如何利用VS2010集成开发环境 来编辑驱动程序代码。

1. 首先,你的机器上必须安装VS2010,各种版本都可以。

2. 安装一个VS的插件Visual Assist X,这的小插件是要收费的,可以在网上下载到破解版本,这是个非常好用的插件,有了它能够极大的提高编写代码的效率

3. 准备工作做好的,我们就开始写驱动程序的源代码了,

4. 首先新建一个空工程,这儿我们取名为DriverTest

5. 如下导入几个库

 




 

我的WDK安装在E盘,这个目录要根据你WDK的安装目录而定



 

设置好了,就可以敲代码了



 

#include<NTddk.h>

VOID DriverUnload();

NTSTATUS DriverEntry(PDRIVER_OBJECT pDriver, PUNICODE_STRING pRegPath)
{
KdPrint(("DriverEntry"));
pDriver->DriverUnload = (PDRIVER_UNLOAD)DriverUnload;
return STATUS_SUCCESS;
}

VOID DriverUnload(PDRIVER_OBJECT driver)
{
KdPrint(("Unload Driver"));
}


键入上面的代码,注意到了没,代码的颜色是不是很漂亮,这就是插件的作用,这个插件还有根据所包含的库文件自动补全代码的功能,总之很强大。

保存之后,可以退出VS了,代码已经编写完成。

 

三、编译驱动程序

编译驱动之前需要写两个文件一个makefile文件,一个是source文件。编译程序会根据这两个文件将源代码编译成以sys结尾的驱动程序。

Makefile文件的内容如下:

!INCLUDE $(NTMAKEENV)\makefile.def

Source文件的内容如下:

TARGETNAME=DriverTest

TARGETTYPE=DRIVER

TARGETPATH=OBJ

SOURCES=test.c

这些字段的含义可参考张帆的《驱动开发技术详解》一书。

打开编译程序,是个命令行模式的程序,使用cd命令切换到当前目录下,键入BLD或build即可成功的编译驱动程序。

 


 

编译好的驱动在objchk_wxp_x86->i386下



 

四、测试驱动

这个驱动程序是一个测试程序,只是在驱动加载时打印一个DriverEntry,在驱动卸载时打印一个Unload Driver。

我们一般在虚拟机中测试驱动,将这个驱动程序拷贝进虚拟机,用InstDrv.exe程序安装,启动,停止和卸载。用DebugView来查看驱动输出的信息。

4000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息