DriverWorks是一款强大的驱动程序开发工具,用于创建Windows Device Driver Kit (WDM) 驱动程序,特别是适用于PCI设备。本文档详细介绍了在DriverWorks环境中开发PCI驱动程序的步骤,以胜西S5933 PCI卡为例。
首先,确保开发环境的准备工作,包括:
1. 安装Microsoft Visual C++ 6.0,这是构建驱动程序的基础编译器。
2. 下载并安装对应操作系统的Device Driver Kit(如Windows 2000 DDK或Windows 98 DDK),这提供了驱动程序开发所需的底层接口和工具。
3. 安装NuMegaDriverStudio,它包含DriverWorks的集成开发环境和库文件。
4. 在NuMegaDriverStudio的环境下,设置环境变量,如BASEDIR和CPU类型,可以通过Tools下的SetupDDKandStart MSVC程序自动配置,或者在Visual Studio IDE中手动设置。
5. 打开VdwLibs.dsw工程,这是一个预设的库项目,用于编译DriverWorks库,确保对Free和Checked模式都进行编译。
6. 通过DriverWorks生成驱动程序框架,使用Driver Wizard向导来简化开发过程。
在生成驱动程序框架时,按照以下步骤操作:
- 在Driver Wizard中输入工程名称(如SX5933)和存放位置。
- 选择WDM驱动程序模板,因为PCI设备通常需要这种模式。
- 在硬件总线选择对话框中,选择PCI,然后输入PCIVendor ID和PCIDevice ID,这两个值应与目标PCI设备的实际VID和DID匹配。
- PCISubsystem ID和PCIRevision ID可选填,如果不填,可能需要在生成的INF文件中手动调整,以确保驱动程序能正确识别和安装。
步骤4允许用户自定义Driver类名和文件名,保持与项目的命名一致性。
通过这些步骤,开发者可以利用DriverWorks高效地创建PCI驱动程序,确保兼容性和稳定性。在实际开发过程中,还需要理解和熟悉Windows内核接口、驱动程序结构以及相应的驱动程序模型,以确保驱动的正确性和功能性。同时,测试和调试也是驱动程序开发不可或缺的部分,确保驱动能够适配各种操作系统环境和硬件平台。