当前位置:文档之家› windows驱动开发 driverstudio 教程

windows驱动开发 driverstudio 教程

前言鉴于国内开发人员迫切需要学习驱动开发技术,而国内有关驱动开发工具DriverStudio的资料很少,大家在开发过程中遇到很多问题却没处问,没法问.而这些问题却是常见的,甚至是很基础的问题。

有感于此,本站联合北京朗维计算机应用公司编写了本教程。

本教程的目的是让一个有一些核心态程序编写经验或对系统有所了解的人学习编写驱动程序。

当然,本教程不是DDK中有关驱动方面内容的替换,而只是一个开发环境的介绍和指导。

学习本教程,你应该能熟练地使用本套工具编写基本的驱动程序。

当然如果你想能顺利地编写各种各样的驱动的话,你应该有相关的硬件知道和系统核心知识并且要经过必要的训练才能胜任。

如果真心说一句话,DriverStudio并没有对驱动程序开发有什么实质的改变,它和DDk的关系不过是sdk和mfc的关系,但很多人选择了MFC,原因不言自明,方便二字何以说得完呀?你再也不用去关注繁琐的框架实现代码,也不用去考虑让人可怕的实现细节。

封装完整的C++函数库让你专注于你要实现的程序逻辑。

它包含一套完整调试和性能测试、增强工具,使你的代码更稳定。

说些题外话,作驱动开发很苦,不是一般的人能忍受的,那怕开发一个小小的驱动也要忍受无数次的宕机,有时甚至有些灾难性的事故等着你,所以要有充分的思想准备。

当然,在开发的过程中你会有一种彻底控制计算机的满足感,调试开发完毕后的成就感是其它开发工作所不能体会到的。

当然,就个人前途来说,作驱动开发能拿到别的开发所不能得到的薪水。

而且开发的生命期也会长一些,你不用不断的学习新的开发工具,只需要不断的加深对系统的理解就行了。

当然,还有一点是必需的,那就是英文要好,否则永远比国外同行慢半拍。

本人水平不高,所做的工作只要能提起大家学习驱动开发的兴趣,能带领大家入门便心满意足了。

在此感谢北京朗维公司(DriverStduio 国内总代理)的大力赞助,特别是感谢技术部的王江涛,市场部的李强两位先生的大力支持。

同时要感谢我的女友,可爱的小猫(我对她的呢称)的贴心照顾和支持(一些很好看的图片就出自她手:))。

在此我也要感谢论坛各大版主的鼎力支持和广大网友的关怀。

DriverStudio工具包介绍:DriverStudio 是一套用来简化微软Windows 平台下设备驱动程序的开发,调试和测试的工具包。

DriverStudio 当前的版本包括下列工具模块:DriverAgentDriverAgent 为Win32 应用程序提供直接访问硬件的功能。

即使你没有任何设备驱动程序开发的经验或经历,你也能编写出DriverAgent应用程序来直接访问硬件设备。

DriverAgent 应用程序可以运行在 Windows 98, Windows 95, Windows NT 和 Windows 2000平台上。

(当前版本不支持Windows XP平台。

)VToolsDVToolsD 是一个用来开发针对Win9X (Windows 95 和 Windows 98)操作系统下设备驱动程序(VxD)的工具。

VToolsD 中包括生成驱动程序源代码的工具,run-time 和 interface 库,以及一些驱动程序样本,可以用来作为各种类型的设备驱动程序的基础部分。

DriverWorksDriverWorks对于Windows NT下和 Windows 98 与 Windows 2000共同支持的Win32驱动模型(WDM)设备驱动程序的开发提供完全的支持。

DriverWorks中包含一个非常完善的源代码生成工具(DriverWizard) 以及相应的类库和驱动程序样本,它提供了在C++下进行设备驱动程序开发的支持。

DriverNetworksDriverNetworks 是针对Windows网络驱动开发人员的一个模块。

在它的核心部分,DriverNetworks 是一个针对NDIS drivers 和 TDI clients (DriverSockets)的 C++ 的类库。

DriverNetworks 中也有Quick Miniport Wizard 用来直接开始一个NDIS Miniport 或Intermediate Driver 工程。

它可以让你快速的生成所有采用DriverNetworks C++ 类库编写的NDIS驱动程序的编译,安装和调试所需要的文件SoftICESoftICE 是一个功能极其强大的内核模式调试器,它支持在配置一台单独的计算机或两台计算机下进行设备驱动程序的调试。

BoundsChecker Driver EditionBoundsChecker 驱动程序版采用了NuMega针对应用程序开发的一种创新的错误检测技术。

BoundsChecker 驱动程序版中提供了参数确认和系统实施可以用来监视和跟踪在不同的设备驱动程序与其它的操作系统的组件之间的所有的交互作用。

配置向导提供了对于BoundsChecker 采集到的各种类型的大量信息的精确的控制。

BoundsChecker 驱动程序版当前支持Windows NT, Windows 2000, Windows Millennium Edition 和 Windows 98。

(当前版本不支持Windows XP)DriverWorkbenchDriverWorkbench 可以使你进一步了解系统崩溃时的dump 文件和当时的事件。

由于与BoundsChecker Driver Edition集成在一起, 在DriverWorkbench 中可以看到在系统崩溃前或其登录的时候由BoundsChecker 采集到的数据。

这种独特的查看系统的方式提供了空前的能力,使得可以通过查看在系统崩溃之前系统实际活动的踪迹来发现问题之所在。

DriverWorkbench 中也包含了 TrueTime Driver Edition. TrueTime Driver Edition 是一个性能分析工具,可让Windows NT 的设备驱动开发人员发现并修正驱动程序的性能瓶颈。

TrueTime Driver Edition 是用来满足对于设备驱动程序和内核模式下代码开发人员的需求。

一些额外的功能将出现在TrueTime Driver Edition 的下一个版本中。

DriverWorkbench 当前支持 Windows NT 和 Windows 9x. (当前版本不支持Windows XP) FieldAgentFieldAgent 可让你对运行在客户的计算机上的驱动程序进行处理。

由FieldAgent收集到的信息可用于追捕到那些可能只发生在特定的配置环境下问题的原因。

FieldAgent 当前支持 Windows NT 和 Windows 9x. (当前版本不支持Windows XP) TrueCoverage Driver Edition用来确保对于所有的代码都已经完全被测试的方法是使用代码覆盖率工具。

TrueCoverage 可以帮助你检测代码中的哪些部分已经被测试,哪些部分还没有被测试。

通过在开发过程中测量和跟踪代码的执行情况和稳定程度,可以节约测试时间并提高代码的可靠性。

TrueCoverage 能够很轻松的收集驱动程序的覆盖率数据,在源代码的上下文中查看这些数据,也可以将多次会话的结果合并以累加覆盖率的数据。

TrueCoverage Driver Edition当前支持 Windows NT 4.0 (Service Pack 3 or later) 和 Windows2000. (当前版本不支持Windows XP)在我们推荐你使用DriverWorks 或 VToolsD来开发设备驱动程序的同时,DriverStudio 中的工具与Microsoft DDK在一起也能很好的与其配合使用来开发出高质量的驱动程序。

DriverStudio套件包的安装与运行环境设置硬件和软件需求在安装该产品前最好将你的系统进行备分。

下列是安装和运行DriverStudio 所需的要求:· PC-compatible Intel x86 系统· Microsoft Windows NT 4.0 (Service Pack 3 or later), Windows 2000, Whistler Build 2296. (Optional: 其中一些工具也支持 Windows 98 和 Windows 95.)· 内存: 最少32 MB, 推荐使用64 MB· 硬盘:完全安装需要 72 MB· 针对 SoftICE的远程调试: NE2000-compatible 网卡或 3Com 网卡· 针对 DriverWorks: Microsoft DDK,MS Visual C++DriverStudio 也支持其它的编译器。

当前支持的编译器的详细列表参见/drivercentral/components/compatibility.shtml安装DriverWorks1. 在安装DriverWorks之前,首先要保证你的计算机上安装了Microsoft Visual C++以及相应针对Windows NT 或WDM的DDK。

2. 在安装完成后,启动MSVC 5.0或6.0。

启动MSVC最好的方法是使用SetDDKGo工具,位于开始|程序|Numega DriverStudio|Tools菜单中(Setup DDk and Start MSVC)。

SetDDKGo执行一系列的命令行参数来定义BASEDIR环境变量。

3. 在FILE|Open Workspace中打开DriverStudio\DriverWorks\Source\vdwlibs.dsw将VDWLIBS 工程载入。

4. 选择Build|Batch Build,选中你需要编译的配置。

5. 点击Build编译所选择的库文件。

注意:库文件只需在安装完成后第一次使用前编译一次即可。

以后要使用DriverWorks,只需通过SetDDKGo进入MSVC即可。

安装VtoolsD安装程序主要执行以下两个基本的功能:1.将VtoolsD的组成文件复制到你指定的目录下。

2.创建配制文件USER.MAK,用来定义VtoolsD在系统中使用的符号。

USER.MAK是用来定位VtoolsD在系统中生成VxDs时使用的工具的配置文件。

它由一系列的符号定义列表组成,每一个都告知 NMAKE 各个特定的程序在系统中驻留的位置。

SETUP提示你输入工具所需变量的路径。

正确的USER.MAK是安装成功的关键。

在安装完成后要检查该文件。

一些在USER.MAK中定义的符号是文件,一些是用来控制生成过程的符号。

相关主题