第一范文网 - 专业文章范例文档资料分享平台

windows驱动开发 driverstudio 教程

来源:用户分享 时间:2025/5/24 7:56:30 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

前言

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

有感于此,本站联合北京朗维计算机应用公司编写了本教程。本教程的目的是让一个有一些核心态程序编写经验或对系统有所了解的人学习编写驱动程序。当然,本教程不是DDK中有关驱动方面内容的替换,而只是一个开发环境的介绍和指导。

学习本教程,你应该能熟练地使用本套工具编写基本的驱动程序。当然如果你想能顺利地编写各种各样的驱动的话,你应该有相关的硬件知道和系统核心知识并且要经过必要的训练才能胜任。

如果真心说一句话,DriverStudio并没有对驱动程序开发有什么实质的改变,它和DDk的关系不过是sdk和mfc的关系,但很多人选择了MFC,原因不言自明,方便二字何以说得完呀?你再也不用去关注繁琐的框架实现代码,也不用去考虑让人可怕的实现细节。封装完整的C++函数库让你专注于你要实现的程序逻辑。 它包含一套完整调试和性能测试、增强工具,使你的代码更稳定。

说些题外话,作驱动开发很苦,不是一般的人能忍受的,那怕开发一个小小的驱动也要忍受无数次的宕机,有时甚至有些灾难性的事故等着你,所以要有充分的思想准备。当然,在开发的过程中你会有一种彻底控制计算机的满足感,调试开发完毕后的成就感是其它开发工作所不能体会到的。当然,就个人前途来说,作驱动开发能拿到别的开发所不能得到的薪水。而且开发的生命期也会长一些,你不用不断的学习新的开发工具,只需要不断的加深对系统的理解就行了。当然,还有一点是必需的,那就是英文要好,否则永远比国外同行慢半拍。

本人水平不高,所做的工作只要能提起大家学习驱动开发的兴趣,能带领大家入门便心满意足了。在此感谢北京朗维公司(DriverStduio 国内总代理)的大力赞助,特别是感谢技术部的王江涛,市场部的李强两位先生的大力支持。同时要感谢我的女友,可爱的小猫(我对她的呢称)的贴心照顾和支持(一些很好看的图片就出自她手:))。在此我也要感谢论坛各大版主的鼎力支持和广大网友的关怀。

DriverStudio工具包介绍:

DriverStudio 是一套用来简化微软Windows 平台下设备驱动程序的开发,调试和测试的工具包。 DriverStudio 当前的版本包括下列工具模块: DriverAgent

DriverAgent 为Win32 应用程序提供直接访问硬件的功能。即使你没有任何设备驱动程序开发的经验或经历,你也能编写出DriverAgent应用程序来直接访问硬件设备。DriverAgent 应用程序可以运行在 Windows 98, Windows 95, Windows NT 和 Windows 2000平台上。(当前版本不支持Windows XP平台。) VToolsD

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

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

DriverWorks对于Windows NT下和 Windows 98 与 Windows 2000共同支持的Win32驱动模型(WDM)设备驱动程序的开发提供完全的支持。DriverWorks中包含一个非常完善的源代码生成工具(DriverWizard) 以及相应的类库和驱动程序样本,它提供了在C++下进行设备驱动程序开发的支持。

DriverNetworks

DriverNetworks 是针对Windows网络驱动开发人员的一个模块。在它的核心部分,DriverNetworks 是一个针对NDIS drivers 和 TDI clients (DriverSockets)的 C++ 的类库。DriverNetworks 中也有Quick Miniport Wizard 用来直接开始一个NDIS Miniport 或 Intermediate Driver 工程。它可以让你快速的生成所有采用DriverNetworks C++ 类库编写的NDIS驱动程序的编译,安装和调试所需要的文件 SoftICE

SoftICE 是一个功能极其强大的内核模式调试器,它支持在配置一台单独的计算机或两台计算机下进行设备驱动程序的调试。 BoundsChecker Driver Edition

BoundsChecker 驱动程序版采用了NuMega针对应用程序开发的一种创新的错误检测技术。BoundsChecker 驱动程序版中提供了参数确认和系统实施可以用来监视和跟踪在不同的设备驱动程序与其它的操作系统的组件之间的所有的交互作用。配置向导提供了对于BoundsChecker 采集到的各种类型的大量信息的精确的控制。

BoundsChecker 驱动程序版当前支持Windows NT, Windows 2000, Windows Millennium Edition和 Windows 98。(当前版本不支持Windows XP) DriverWorkbench

DriverWorkbench 可以使你进一步了解系统崩溃时的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) FieldAgent

FieldAgent 可让你对运行在客户的计算机上的驱动程序进行处理。由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) 和 Windows

2000. (当前版本不支持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 也支持其它的编译器。当前支持的编译器的详细列表参见http://www.numega.com/drivercentral/components/compatibility.shtml

安装DriverWorks

1. 在安装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中定义的符号是文件,一些是用来控制生成过程的符号。下列表格说明了在USER.MAK中定义符号的含义 Symbol Meaning COMPILER 选择编译器的符号: MS5 或 BCB3

DEBUGGER 选择调试器的符号: SOFTICE3, WDEB386, 或NONE

C32 32-bit 命令行编译器的完全路径 每个符号定义语句的格式为 SYMBOL = .

例如:

C32 = C:\\BCC32\\BIN\\BCC32.EXE

LINKMSVC2 MS可执行连接器的完全路径名 TLINK32 Borland可执行连接器的完全路径名 ASM6 Microsoft MASM 6可执行的完全路径名 TASM32 Borland assembler的完全路径名 NMSYM NuMega 符号文件生成器的完全路径名 EDITBIN Microsoft EDITBIN 工具的完全路径名 VTOOLSD 环境变量

VTOOLSD 生成系统时需要定义环境变量VTOOLSD. 该变量的值必须是VTOOLSD 安装的根目录。 例如:

set VTOOLSD=C:\\VTOOLSD

SETUP 自动将该语句加入到你的AUTOEXEC.BAT文件中。如果你没有让SETUP这么做,那么你就必须手动的添加或每次用VTOOLSD在系统中生成VxD时设置变量。

安装SoftICE 安装之前:

1. 如果要将SoftICE安装在Windows NT 或Windows 2000上,你必须要有系统管理员的权限。 2. 如果要将SoftICE安装在Windows Me上,在安装之前必须下载并安装\Windows Me\

3. 下列是各个显卡选项的需求列表,根据你自己的配置选择相应的驱动。 l 一台显示器和显卡:

根据显卡的生产厂家和型号来决定 l 第二块单色显卡

由主要的(第一台)显卡的生产厂家和型号来决定 l 第二台计算机

由串口特性或网络特性(如果使用网络)来决定 l 第二块VGA显卡

找到能与另一块显卡共存的显卡的驱动。

4. 选择使用的鼠标的类型,串口或PS/2,如果使用了串口鼠标,搞清楚其连接的端口是COM1还是COM2

5. 退出所有的Windows应用程序 安装

1. 选择好安装目录。

2. 在显示适配器选择窗口,选择你将要使用的显示选项

l 若要使用通用显卡驱动,选中\复选框。

l 若在只有一块显卡的计算机上使用SoftICE,选择显卡的生产厂家和型号。如果显卡未列出,在COMPATIBILIBY 框中选择相同的图形处理芯片。如果相同的芯片也没有,选择STANDARD VGA(640X480 pixels).

搜索更多关于: windows驱动开发 driverstudio 教程 的文档
windows驱动开发 driverstudio 教程.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c37tkd5tvxo0daes3z41e_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top