window驱动开发环境

来源:互联网 发布:js array unique 编辑:程序博客网 时间:2024/06/05 23:50

http://blog.csdn.net/smartdog_1/article/details/8219900

1、说明

在Windows驱动开发过程中,环境搭建是最重要的一部。而标准的驱动开发环境搭建相对模糊,不具有可行性。故而本人记录下自己搭建开发环境的过程。

2、驱动开发分类

      1)、Windows驱动开发分成两类。一类是设备驱动,另外一类是过滤驱动。两者可以统称为windows内核开发。原因在于两者都运行于内核空间

      2)、设备驱动是在驱动开发框架下编写与设备相关的驱动,主要是为了让设备能够正常在Windows下工作。

      3)、过滤驱动则是为了实现文件过滤、防火墙、驱动保护、内核修改等目的。

3、驱动开发工具准备

      在Windows驱动开发过程中,官方提供的工具分成两类:

      1)、为Windows 2000 、XP 、Vista、7 准备的开发包WDK7600

       2)、为Windows Vista 、7、8 准备的开发包WDK8kit

       两类工具不能相互兼容。不需要开发Win8驱动的,使用WDK7600的最为方便

4、编写代码工具的准备。

                  为2000、XP开发驱动时,微软官方没有提供集成开发环境。按照官方的说法使我们只能使用文本编辑器和命令行来实现编辑、编译。

        但是网上有好事者编写了一套辅助开发工具来实现IDE方式编写驱动程序。那就是VisualDDK,他能无缝集成到VS2005 VS2008 VS2010。 对于

        VS2012来说,我们不在需要第三方的开发工具,VS2012自带了驱动开发IDE,只需要装上WDK8就能实现。并且VS2012不在支持XP。

5、调试工具的准备。

                  驱动调试工具,常见的的有两个一个是SoftICE 和 Winbg 。前者已经停止更新,后者为微软官方提供的调试工具。支持所有版本的windows

         调试。配合windows提供的符号文件,调试windows内核相对方便很多。

                  对于winddbg调试工具,经常使用虚拟机实现双机调试。此时我们大多使用的是利用虚拟机的虚拟串口来调试,这种方式效率低下,但是稳定

         性最好。在虚拟机中配置调试串口也会遇到很多问题。比如默认的调试串口是com1还是com2对于我们来说是不知道的。只能通过自己测试来实现。

                   在调试内核的时候,网上也有好事者提供了第三方的解决方案,这就是VisualKD.。

                    他是利用网络的方式实现双机调试,本人只在虚拟机下测试了双机调试。至于真实主机的调试还没有测试。

6、驱动开发环境搭建过程中的软件安装

      1、安装Visual 2005、2008、2010(vs2012不支持在XP下安装,而且自身支持WDK8的集成,所以不讨论)

       2、安装WDK7600(完全安装)

       3、安装VisaulDDK(一定要最新的。1.5.7支持WDK7600,低版本的不一定支持)

       4、对于在Windows7 64bit下调试的人来说,要安装WinDbg32bit工具。(位于WDK工具包的Debuger目录下)

7、驱动调试环境搭建过程中的软件安装

       1、完成驱动开发环境的软件安装。

        2、安装VMwareplayer。(Vmwareplay配置简单,而且免费。VMWorkStation对于一般的用户来说,意义不大。VirtualBox配置有点麻烦,详情参见

             下面的链接)

        3、在VMwareplayer中安装系统。此处我选择的是XP。

        4、下载VisualKD(一定要最新版本)

5、将VisualKD目录下的vminstall.exe拷贝到虚拟机中,并运行。

        6、在主机中运行VirtualKD目录下的vmmon.exe文件。(64位系统的选择vmmon64.exe)

        7、如果vmmon中OS栏目显示的是yes,则表明虚拟机中的系统已经和主机连接上。此时点击RunDebugger就能实现调试。

8、其他及参考连接:

       驱动开发环境搭建分成:

                 调试环境和编译环境,两者要弄清楚。

       连接:

              VisaulDDK 下载  http://visualddk.sysprogs.org/download/

              VisualKD下载:http://virtualkd.sysprogs.org/download/

     VisualDDK安装:http://visualddk.sysprogs.org/quickstart/

             VisualKD安装 :http://virtualkd.sysprogs.org/tutorials/install/


    使用VisualDDK 开发参考:http://articles.sysprogs.org/visualddk/firstdriver/ 




已知问题:

                  在Windows Xp中使用 VirtualKD-2.8 和 WDK 7600.16385.1会出现找不到windbg.exe文件。(wdk按照默认路径安装)。

                   解决办法,建立C:\Program Files\Debugging Tools for Windows目录。将C:\WinDDK\7600.16385.1\Debuggers目录下

         的所有文件拷贝到C:\Program Files\Debugging Tools for Windows目录下。

                  问题出现的原因在于VirtualKD默认从C:\Program Files\Debugging Tools for Windows目录下寻找windbg.exe文件。