ddk7600驱动开发环境搭建

ddk7600官方下载页面网址

https://www.microsoft.com/en-us/download/details.aspx?id=11800

官方下载地址 

https://download.microsoft.com/download/4/A/2/4A25C7D5-EFBE-4182-B6A9-AE6850409A78/GRMWDK_EN_7600_1.ISO

安装之后会有一个WINDDK\7600.16385.1,官网上已经没有ddk 7600.16385.0了(以前下载过7600.16385.0的iso的可以继续使用)

驱动代码不需要IDE,直接用命令行就可以编译

打开build environment后cd到项目目录执行build命令即可

 

项目中一般包含代码文件、Makefile文件、sources文件

代码文件不多赘述,就是项目代码,

Makefile文件是所有项目通用,随便找个项目复制就可以

#
# 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 the Windows NT DDK
#

!INCLUDE $(NTMAKEENV)\makefile.def

 sources文件是关键,指定项目属性如名称、类型,引用库,代码文件(只需要指定c文件),

# $Id$
TARGETNAME=firstDriver
TARGETPATH=obj
TARGETTYPE=DRIVER

# Create browse info
#BROWSER_INFO=1
#BROWSERFILE=<some path>

TARGETLIBS=$(DDK_LIB_PATH)\ntstrsafe.lib $(DDK_LIB_PATH)\wdmsec.lib

# Additional defines for the C/C++ preprocessor
C_DEFINES=$(C_DEFINES)

SOURCES=firstDriver.c \
        commonFun.c

sources如上,指定TARGETNAME就是生成的文件名,类型是DRIVER,所以生成的文件是firstDriver.sys,默认路径是objfre_win7_amd64\amd64,如果TARGETNAME设置为路径如..\..\abc

则路径相对于默认输出目录objfre_win7_amd64\amd64\..\..\abc.sys

如果嫌手动编译太慢,可以将编译步骤写为一个脚本

set curPath=%~dp0
call %W7BASE%\bin\setenv.bat %W7BASE%\ fre x64 WIN7
echo curPath %curPath%
echo setenv done
%curPath:~0,2%
cd %curPath%
build

注意一下名为W7BASE的环境变量,变量的值为D:\WinDDK\7600.16385.1,也就是ddk目录,为了不写那个长路径才用了环境变量,可以不用环境变量,直接写全路径

注意%curPath:~0,2%,这个表示截取字符串的前两个字符,也就是D:,用来进入D盘,然后cd到当前路径,如果不写D:直接cd到D盘的当前路径,build执行的环境就是D:\WinDDK\7600.16385.1。

脚本核心就是调用setenv.bat然后执行build命令,看过build environment的快捷方式对应的命令后就会明白手动打开build environment也是调用setenv.bat而已

ddk7600+vs2008

估计大家都不想用记事本开发,windows上开发还是用vs比较方便,这里使用vs2008作为IDE,只是IDE而已,可以换其他的,但是注意vs2008安装的时候要勾选x64的编译环境,不然编译其他项目的时候编译不了x64的项目就尴尬了

vs中创建一个空白项目,NMAKE中设置build命令,这样就可以右键build了

 runr.bat即使上面的脚本

编写代码的时候ddk中的头文件可能不会自动跳转,可以把ddk中的头文件都配置到vs中

Tools->Options

把ddk里面的头文件都引入进去,这个操作对项目本身并没有影响,只是为了方便IDE跳转,找到代码,便于开发

以上基本可以进行编译开发了

但是网上还流传着ddkbuild+ddkwizard

ddkwizard免费下载链接,趁链接还没失效赶紧的

https://master.dl.sourceforge.net/project/ddkwizard/legacy-releases/ddkwizard_setup_v1.3.0a-signed.exe?viasf=1

下载安装之后visual studio里面的创建项目可以选择Driver Project了,桌面会有一个pdf的快捷方式,里面介绍了ddkbuild.cmd、ddkbuild.cmd并提供了备用下载地址,

http://www.osronline.com/article.cfm%5earticle=43.htm

其中v6是ddkbuild.bat文件v7是ddkbuild.cmd文件,根据ddkwizard解释To be honest the configuration of DDKBUILD.CMD is almost identical to the one of DDKBUILD.BAT (covered in section 1.1) except for the name of the filehttp://www.osronline.com/article.cfm%5earticle=43.htm

执行脚本

call ddkbuild.bat -W7X64 fre . %1

其实也没有简单多少,注意把ddkbuild.bat所在目录配置到PATH环境变量中去,或者直接把ddkbuild.bat复制到项目目录,以免执行脚本的时候找不到命令

小贴士:

1.ioctl code对应的数值和功能如下

Windows IOCTL reference

不一定全面,但是调试的时候获取到ioctrl code 的数值后对应哪个设备可以看看

2.windows内核中大部分未公开的数据结构如下

Windows Vista Kernel Structures

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值