VS2008、DDK XP和DDKWizard搭建驱动开发环境
转自http://blog.youkuaiyun.com/wqvbjhc/article/details/5112134
配置环境永远是第一个拦路虎,驱动开发的环境配置更是如此,今天看了一本有关DDK开发的,故想在自己的机子上测试一下。所以就得开始配置环境,因为本人机上已经装了VS2008,所以没找查找关天VC其他版本的配置方法。开始在网上找了些资料,一边装一边记录,方便以后再次重装吧。
一、 安装VisualStudio 2008
这个大家都会啦,傻瓜式安装,一直next就行,截图如下:
二、安装DDK XP。
听说现在MS不提供DDK下载了,比较难下载到,经过一番internet的搜索,最终让我在北大的天网搜索里搜索到的了XP的DDK,地址为:ftp://210.42.106.194/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/DDK/ XP的DDK与2003的DDK是不同的:网上有人先是安装了DDK 2003,并选择使用DDK2003,但是在WindowsXP系统下编译的时候总提示:
error C1083: Cannot open include file: 'D:/WINDDK/3790~1.183/inc/wnet/warning.h': No such file or directory
但实际的驱动程序源文件中并没有用到warning.h文件,由此看来在XP系统下使用DDK 2003还是有配置不当的问题,但也很有可能是我对DDKWizard的使用还有不清楚的地方,总之,使用了DDK XP后,一切顺利。建议全选,如下图:
三、安装DDKWizard
在http://ddkwizard.assarbad.net/网站上发现了一个很好用的辅助工具DDKWizard, 能够方便地对开发环境进行配置,试用之后感觉很方便,真是适合懒人啊,工具的作者也自称是因为懒惰才开发此工具,看来“懒惰是推动科技发展的动力”一点不假 。
DDKWizard安装一路Next即可,easy。
四、 Ddkbuild.cmd
http://ddkwizard.assarbad.net/下载ddkbuild.cmd和ddkbuild.bat。 然后将将ddkbuild.cmd拷贝到特定DDK版本安装的父目录下,例如,我的DDK XP的安装目录是D:/WINDDK/2600,就将 ddkbuild.cmd拷贝到D:/WINDDK目录下。在此说明一下,安装DDK时,无论是DDK XP、DDK 2003或DDK Vista,最 好不要改变安装时的默认目录名称,例如XP的目录是2600,2003的目录是3790.1830,因为如果改了目录名称,还要对DDKWizard进行 更多的修改,麻烦,也没必要。
五、配置环境变量
将上述文件(DDKBUILD.bat 和 DDKBUILD.cmd )的路径添加到系统的path变量(右击我的电脑,系统属性/高级/环境变量/系统变量/path变量双击修改值)。 根据你所安装的DDK的不同版本添加不同的变量到系统变量中。
右击我的电脑,系统属性/高级/环境变量/系统变量/新建:
2000 DDK则变量名为: W2KBASE
XP DDK则变量名为: WXPBASE
2003 sp1 DDK则变量名为: WNETBASE
这里我的是WNETBASE(值为D:/WinDDK/2600)
六、Visual Studio配置
打开VS 2008,菜单“工具”->“选项”->左侧“项目和解决方案”->“VC++目录”->右侧“可执行文件”下拉列表->添加一项D:/WINDDK(根据你的实际情况)。在VS的选项中如下配置,即可执行文件中添加DDK的目录,
然后,在show directoriesfor选择Library files,并添加链接库,例如我的是D:/WINDDK/2600/lib/wxp/i386
设置包含文件(D:/WINDDK/2600/inc/wxp; D:/WINDDK/2600/inc/ddk/wxp )
至此,设置工作就都完成了。 编译一个驱动程序体验一下:
七、编译Sys文件
1. 新建一个空的驱动程序项目,如下图:
2. 点击确定后,出现DDKWizard选项对话框
注意,选择XPDDK,本人的建议是不要选上Create PREfast configuration,否则好像是编译不出sys文件?
3.将驱动程序的所有源文件加入项目中。
新建DDK Project之后修改SOURCE文件:
其中TARGETTYPE=后面加DRIVER;
加入以下两行:
DDKROOT=D:/WINDDK/2600; #这里要和安装目录一样
INCLUDES=$(DDKROOT)/inc;
加入[源文件]后还要在sources文件里的SOURCES=后面加上[源文件名]。比如:
SOURCES=Helloworld.c
4.点击F7进行编译,顺利编译。
然后,生成即可得到sys了,到此为止。
OK,享受IDE带来的便利吧!
注:
不得不注意的3个讨厌问题:
1. 编译时必须保证 makefile,sources和源程序在同一目录下
2. 编写sources文件时,其中的”=”两边不能有空
3. 如果上面的问题还不够讨厌,那么下面这个问题可以讨厌的让人放弃学习DDK,工程的工作目录的
绝对路径中不能出现空格,如 “C:/Documents and Settings/MyProgramme/”将不能被DDK编译器编译,
而且表面上看来DDK好像是完成的编译,实际上它什么都没做!