Windows驱动程序开发环境配置.doc_第1页
Windows驱动程序开发环境配置.doc_第2页
Windows驱动程序开发环境配置.doc_第3页
Windows驱动程序开发环境配置.doc_第4页
Windows驱动程序开发环境配置.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Windows驱动程序开发笔记一、WDK与DDK环境最新版的WDK 微软已经不提供下载了 这里:/可以下 并且这里有好多好东东!不要走进一个误区:下最新版的就好,虽然最新版是Windows Driver Kit (WDK) 7_0_0,支持windows7,vista 2003 xp等但是它的意思是指 在windows7操作系统下 安装能编写 针对windows xp vista的驱动程序,但是不能在xp 2003环境下安装Windows Driver Kit (WDK) 7_0_0这个高版本,否则 你在build的时候 会有好多好多的问题.上文build指:首先安装好WDK/DDK,然后进入开始-所有程序-Windows Driver Kits-WDK XXXX.XXXX.X -Windows XP-x86 Checked Build Environment在弹出来的命令行窗口中输入Build,让它自动生成所需要的库如果你是要给xp下的开发环境 还是老老实实的 找针对xp的老版DDK吧,并且xp无WDK版 只有DDK版build自己的demo 有个常见问题: jvc 不是内部或外部命令,也不是可运行的程序。解决办法:去掉build路径中的空格。二、下载 WDK 开发包的步骤1、访问 Microsoft Connect Web site站点2、使用微软 Passport 账户登录站点3、登录进入之后,点击 站点目录链接4、在左侧的类别列表中选择 开发人员工具 ,在右侧打开的类别: 开发人员工具目录中找到 Windows Driver Kit (WDK) and Windows Driver Framework (WDF)并添加到 您的控制面板 中5、添加该项完毕后,选择您的控制面板 ,就可以看到新添加进来的项了。6、点击 Windows Driver Kit (WDK) and Windows Driver Framework (WDF) ,看到下面有下载链接,OK,下载开始。下载后的文件名为:6.1.6001.18002.081017-1400_wdksp-WDK18002SP_EN_DVD.iso 将近600M大小。也可以试试这个地址:/downloads/en/details.aspx?displaylang=en&FamilyID=36a2630f-5d56-43b5-b996-7633f2ec14ff 直接点击下载。三、安装 WDK 开发包1、使用虚拟光驱加载下载完成的镜像文件,然后运行2、选择相应的系统环境,如下图:3、接触,出现以下画面,在左侧的树形复选框中选择要安装的组件及工具,建议全部安装,选择好后点击“OK”后面的就简单了4、然后一路回车即可。5、安装过程的注意事项,只有两点:(1)安装到一个简单一点的路径,避免在特殊情况下需要配置路径时麻烦,比如C:WinDDK。尤其要避免在路径上有空格,否则可能出现编译问题。(2)一定要选择完全安装,否则可能错过一些代码例子。四、驱动开发环境搭建(VS2008+WDK+DDKWzard)在VS2008IDE中没有提供驱动开发的项目选项,当然可以用普通工程,然后手动在中配制相应的编辑连接以及调试选项,但是如此只来,每次都要重复些复杂的步骤。在/网站上发现了一个很好用的辅助工具DDKWizard,能够方便地对开发环境进行配置,真是适合想我这样懒人啊,工具的作者也自称是因为懒惰才开发此工具,看来“懒惰是推动科技发展的动力”一点不假 。 DDKwizard安装需要三个文件:DDKWizard主程序:安装VS2008的项目模板ddkwizard_setup.exe DDKBUILD.CMD:应该是用VS2008调用WDK编辑编译器的一系列脚本dkbuild_cmd.zip DDKBUILD.BAT :估计也是是用VS2008调用WDK编辑编译器的一系列脚本ddkbuild_bat.zip1、 安装DDKWizard1) 安装ddkwizard_setup,默认安装,一路Next点过即可,将DDKBUILD.CMD与DDKBUILD.BAT考到WDK的安装目录,或者其它目录也行,只要在后续的设置就行。如:我将其放在wdk的目录下,如图2) 设置环境变量a) 添加相应的环境变量,如要开发XP系统下的驱动则添加WXPBASE,变量值为WDK的根目录path :系统变量需将G:WinDDK添加到Path变量中 否则编译时会出现找不到命令的错误 新建系统变量 变量名:WLHBASE ,图中我加了两个,只需第一个即可。变量值为:G:WinDDK7600.16385.0 修改为你安装的wdk路径 如下图b) Win7:如果为其它系统开发驱动则填写相应的环境变量NT 4.0 NT4BASEwindows2000-W2KBASEwindowsXP-WXPBASEwindows2003-WNETBASEwin7/2008 R2-W7BASE2、 打开VS 2008,菜单“工具”-“选项”-左侧“项目和解决方案”-“VC+目录”-右侧“可执行文件”下拉列表-添加一项D:WINDDK(根据你的实际情况,就是第1步中DDKBUILD.CMD与DDKBUILD.BAT所在的路径),增加WDK的根目录如图:到目此所有的设置工作都已完成。自定义安装DDK目录的修改DDKW文件内容 替换c:WINDDKddkbuild.cmd为你DDK安装路径,另替换系统对应支持DDK目录,我的安装了最新的WINDOWS7的DDK,替换如图所示。Win7:3、 编写简单的驱动程序并测试我们的驱动开发环境1) 在Visual C+选项卡中多了DDK Project的项目类型,选择相应的模板添加我们的项目,点击确定2) 确定后出现DDKWzard的项目创建页面,在“Choose the DDKBUILD you want to use”中选择“ddkbuild.cmd”或者“ddkbuild.bat”,在其下面选择我们要为Who(2000,xp)开发的驱动。W7: 替换默认路径c:WINDDKddkbuild.cmd为自定义G:WINDDKddkbuild.cmd替换默认路径c:WINDDK7600.16385.0 -g:WINDDK7600.16385.0这里可以保持默认设置 我这里修改了ddkw的默认设置G:Program FilesDDKWizardWizardsDriverHTML1033default.htm的内容Which DDK(s)/WDK(s) do you want to use:Windows 7/2008 Server R2 WDKWindows Vista/2008 Server WDKWindows 2003 DDKWindows XP DDK 就是Windows XP DDK其他配置(转):对于原版的那个,另我不爽的有以下几点:1,默认cpp,虽然可以改,但是还要点一下。2,默认选中Create PREfast configuration,不爽。3,默认选中两个ddk,不爽。4,代码太乱了。5,东西太杂了。4、 开始开发1) 使其默认不选中 Stricter type checking (.cpp) 打开DDKWizard目录下的DDKWizard.ini文件,做如下修改: checkbox.STRICTERCPP的值为false。2) 不选中“Create PREfast configuration” 打开DDKWizard.ini 做如下修改: checkbox.PREFASTCONFIG = false checkbox.PREFASTCONFIG_ONLYCHECKED = false3) 使其只选中一个ddk 用记事本打开WizardsDriverHTML1033Default.htm 搜索一下“longhorn”,然后做如下修改: Windows 2000 DDK Windows XP DDK Windows 2003 DDK Longhorn/Vista WDK4) 修改模板默认模板在WizardsDriverTemplates1033下,形式比较简单,自行参考原版进行修改即可。需要添加删除文件修改Templates.inf中的相应文件即可,很是方便。这样搞完以后,就可以一键生成自己熟悉的驱动模板,很爽。5、 最后Finish,这样就可以开始写我们的驱动程序了 这里为了演示.我们什么也不做只打印输出HelloEping 简单驱动程序代码如下 注意保存为*.c格式 我这里保存为test.c6、 复制下面的代码:#include VOID DriverUnload(PDRIVER_OBJECT driver) DbgPrint(HelloEpingrn); NTSTATUS DriverEntry(PDRIVER_OBJECT driver,PUNICODE_STRING reg_path) DbgPrint(Hello,Eping!); driver-DriverUnload=DriverUnload; return STATUS_SUCCESS; 注意:sources文件中TARGETTYPE= 默认生成的代码 需要改为TARGETTYPE=DRIVER SOURCES=默认也为空 我把它改成SOURCES=test.c即可成功编译出 否则编译成功后你会发现找不到驱动文件。 1) 在解决方案中便是由DDKWzard为我们自动生成的一个简单的驱动程序框架。2)3) 最后点击F6生成解决方案,成功生成后在项目的objchk_win7_x86i386文件夹下会生成几个文件driver1.obj 编译生成的2进制文件driver1.pdb用于调试时使用的符号文件vc90.pdb用于调试时使用的符号文件driver1.sys就是我们拭目以待的驱动程序文件,终于见到久违的驱动了!7、 Win2003与VS2005下DDK环境搭建1) 环境:安装环境: Windows 2003; 开发环境 vs2005到迅雷上下载 win2003 DDK iso 的文件下载Windows Server2003 SP1安装 iso 文件格式的 DDK安装Windows Server2003 SP12) 安装DDK后,去/ 下载ddkwizard_setup_v1.2.0a、ddkbuild_bat.zip、ddkbuild_cmd.zip。3) 拷贝 DDKBUILD.bat 和 DDKBUILD.cmd 到DDK安装根目录,如我的是C:WinDDK。将上述文件(DDKBUILD.bat 和 DDKBUILD.cmd )的路径添加到系统的path变量(右击我的电脑,系统属性/高级/环境变量/系统变量/path变量双击修改值)。4) 根据你所安装的DDK的不同版本添加不同的变量到系统变量中。 右击我的电脑,系统属性/高级/环境变量/系统变量/新建: 2000 DDK则变量名为: W2KBASE XP DDK则变量名为: WXPBASE 2003 sp1 DDK则变量名为: WNETBASE 这里我的是WNETBASE(值为c:WinDDK3790.1830)5) 启动vs2005打开菜单中的工具选项,弹出选项对话框。选择左边的项目和解决方案VC+目录,在右边的显示以下内容的目录下拉列表中选择可执行文件,在下面列表框中添加上面DDKBuild.bat文件所在的路径(这里是C:WinDDK),同样设置包含文件和库文件设置可执行文件(c:WinDDK)设置包含文件(cWINDDK3790.1830incwnet)设置库文件(cWINDDK3790.1830libwneti386)6) 开始安装DDKWizard,在安装的最后一步你可以选择编辑ddkwizard的配置文件。现在重新打开VS2005会发现在新建项目里面有DDK Project的选项了,里面就可以建立驱动工程来编写驱动程序了。7) 比较成功的安装方法链接:/wangyue4/archive/2009/12/15/5012845.aspx8) 将驱动程序的所有源文件加入项目中。新建DDK Project 之后修改SOURCE 文件:其中TARGETTYPE= 后面加DRIVER ;加入以下两行: DDKROOT=D:WINDDK2600; # 这里要和安装目录一样 INCLUDES=$(DDKROOT)inc; 加入 源文件 后还要在sources 文件里的SOURCES= 后面加上 源文件名 。比如:SOURCES=Helloworld.c9) 程序调试成功后,也许会弹出 一个可执行文件的对话框,这时在文件的I386,下查到 tsadmin (你的可执行文件)。浏览指向,这时你就可以进行使用。10) 设置完毕就可以打开VS2005了。新建-项目-可以看到有了个DDK project,选择Driver,根据选择选定需要的DDK。Finish6.项目属性-NMAKE-Included Search Pa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论