Chinaunix首页 | 论坛 | 博客
  • 博客访问: 501411
  • 博文数量: 58
  • 博客积分: 6012
  • 博客等级: 准将
  • 技术积分: 1211
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-09 22:50
文章分类

全部博文(58)

文章存档

2010年(25)

2009年(23)

2008年(10)

我的朋友

分类: WINDOWS

2009-05-23 17:26:57

1·前言
  开发windows内核驱动程序是一个非常具有挑战性的工作,你得忍耐调试过程中操作系统不断蓝屏、不断崩溃的噩梦,所以强烈建议你采用虚拟机做开发平台,这样即使把整个系统都搞蹦了,大不了从新装过虚拟机而已。那么搭建一个完整的Windows驱动开发环境是每个人必须迈过的第一道坎。本文将具体介绍如何安装和配置好一个完整的DDK开发换件:
   Windows XP + 英文原版Visual studio 6.0 + WinXP_DDK + DriverStudio 3.2

2·准备工作
  先要把eset(360杀毒软件)卸载掉。从网站下载并解压下列软件:
  (1)·DriverStudio_3.2_CR.rar;
  (2)·Visual.C++.6.EN.zip;
  (3)·winxp_ddk.rar;
  (4)·ntstrsafe.lib+csq.lib.rar;
  解压DriverStudio_3.2_CR.rar,进入解压后的目录DriverStudio_3.2_CR,再把其中driverstudio.3.2.crack.rar解压,产生目录driverstudio.3.2.crack,里面有两个文件SN.txt和compuware.dat,前者包含序列号,后者是证书文件,这两个文件在安装过程中会用到。

3·安装和配置
  软件的安装顺序:Windows XP --> VC6.0 --> WinXP_DDK -> DriverStudio3.2,如果顺序装错了,那么把DriverStudio3.2删除再重装就OK了。从网上找到库文件ntstrsafe.lib+csq.lib.rar,把解压出来的两个库文件拷贝到WinXP_DDK的安装目录下的库目录中(我的是C:\WINDDK\2600\lib\wxp\i386)。启动vc6,然后进行简单的配置:菜单DriverStudio菜单下的DDK Build Settings,在弹出的对话框中选择已经安装的DDK目录(比如我的是C:\WINDDK\2600),在Windows DDK compiler Options中选择"Enable only for Driver Studio"。
  VC6.0-->Tools-->Options,点击"Directories"选项卡:
1)·“Show directories for:"下选择Include files,然后检查有没有包含ddk的头文件目录(我的是C:\WINDDK\2600\inc\wxp),如果没有则加上;
2)·“Show directories for:"下选择Library files,然后检查有没有包含ddk的库文件目录(我的是C:\WINDDK\2600\lib\wxp\i386),如果没有则加上;
  注意:安装DDK时一定要把例子安装(建议你安装全部的模块),否则编译vdwlibs.dsw时会报如下的错:
vdw_wdm.lib - 1 error(s), 0 warning(s)
然后打开引起错误的文件,发现:
#error The file is from the DDK at src\wdm\hid\inc. Install DDK HID samples to install hidport.h.  Or update INCLUDE path for hidport.h in the DDK!
这表明安装WinXP_DDK的时候没有安装实例。

4·编译适合本机使用的库文件
  (1).启动VC6.0。开始-->所有程序-->Compuware DriveStudio-->Develop-->DDK Building Settings,确保“DDK Root Directory”下方的内容是ddk的安装目录(比如我的是C:\WINDDK\2600),然后点击下方的"Luanch Program"正式启动vc6的开发环境。
  (2).进入菜单File-->Open Workspace(打开位于DriverStudio3.2安装目录的\DriverWorks\Source\vdwlibs.dsw)-->进入菜单Build-->batch Build,点击“Select x86"按钮只选中全部的32位库(我的电脑是32位的。注意:对于32位的电脑一定不要选中64位的库,否则后面编译会出错)-->点击按钮"Rebuild AlL”开始编译。
  注:如果出现无法打开文件这类的错误,一般都是DDK Build Settings指向不对,或安装顺序有误,或者你在32位机器上选中了64位库。

5·编译一个DriverStudio自带的实例
  
(1)·启动vc6,点击菜单File-->Open Workspace,打开项目文件C:\Program Files\Compuware\DriverStudio\DriverWorks\Examples\wdm\hellowdm\HelloWdm.dsw,然后编译,如果没有报错,那说明安装和配置成功。但请你别高兴的太早,开发环境安装配置成功只是万里长城的第一步,剩下的你就是要理解驱动模块的架构和具体的代码编写了。

6·使用Driver wizard生成驱动程序框架
  (1).在VC6.0的界面下,点击菜单DriverStudio-->Driver wizard,此后系统会一步一步引导你完成设置,最后自动生产的驱动程序框架。
  (2).设置好后将生成驱动文件,然后用VC6.0进行编译:进行Build菜单,Rebuild AlL将生成.sys文件,说明驱动模块编译成功!
  注:如果出现无法打开ntstrsafe.lib的错误,说明系统缺少这个库文件,参照上面的方法补上这个库文件,或者进入菜单Project-->Settings,鼠标点击左边方框里的最上面一行,然后右边"Project Option"下的ntstrsafe.lib并删除它。

阅读(3914) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

OraBSD2009-05-28 09:10:02

虚拟机搞崩溃了也不用重装哦,不是可以snapshot吗?