驱动开发的主要工具:DDK(Device Development Kit),WinDriver, DriverStudio, NIVISA。这几种开发工具各有优缺点。用WinDriver和DriverStudio开发驱动比DDK简单容易上手,但WinDriver开发驱动没法脱离WinDriver环境不好发布,所以还是用DriverStudio比较好。而NI-VISA主要用于仪器驱动开发,在仪器控制方面用得较多。需要指出的是,不管哪种开发方式,都离不开VC++开发环境。下面对这四种开发工具做进一步对比分析。
DDK
DDK是Device Development Kit,设备开发包的意思。一般指windows设备驱动程序开发包。如果你想开发一个设备驱动程序,如显卡驱动程序,就必须使用DDK。由于DDK基于汇编语言的编程方式和内核模式的调用,对没有深厚的OS原理和编程水平的人员来说,任务相当艰巨。前面介绍的几种开发方式中,DDK开发驱动最复杂,而且需要了解很多关于Windows内核的知识,因此开发周期很长,但是出来的驱动执行的效率是最高的。而且DDK不仅可以开发设备纯硬件驱动,还可以开发各种过滤驱动。WinDriver
WinDriver是一个用于驱动开发的工具包。它具有跨平台特性。你在Windows下开发的驱动程序不需要作任何修改,就可以用于Windows9x,WindowsNT,WindowsCE,Solaris,Linux等系统。在常规开发环境下,使用WinDriver,可以在很短的时间内完成访问IO端口和存储区域,处理中断,执行DMA操作及访问PCI和自定义寄存器的工作。这种易用性是通过一个非常强大的组合向导来实现的。这个向导通过一个非常强健的API来分析硬件,自动产生驱动程序代码。您可以在用户模式下使用这个API,这样就不需要学习操作系统的内部原理和内核API(DDK)。 它包括一个功能强大的硬件探测器和调试器。在写入一行代码前,通过一个图形界面,硬件调试器能够对硬件进行全面的测试。这种方式能够使您在写您的驱动程序前,校验硬件是否按照期望的那样工作。WinDriver将很难的开发任务变得非常轻松。缺点是它只适合用于开发纯硬件驱动。DriverStudio
DriverStudio是一套用来加速微软Windows 设备驱动程序的开发和调试的核心工具。DriverStudio 能加速开发,调试,测试,调整和配置你的VXD,WDM和Windows NT驱动程序。DriverStudio所提供的工具组件覆盖了驱动开发的方方面面。DriverStudio套件中的所有工具都与Visual Studio IDE环境集成在一起。开发人员可以在Visual Studio .NET 2002和2003环境中编写并测试驱动程序,并且通过使用Microsoft C++编译器与Microsoft DDK完全保持兼容。DriverStudio于DDK完全兼容,但是比用DDK直接开发驱动要简单快捷。相对于WinDriver而言,DriverStudio功能更加全面(包含各种调试组件),而且更有利于开发者深入理解Windows内核,理解驱动程序架构。NI-VISA
VISA是个通用的仪器驱动标准,国际上有专门的联盟,制定这个标准,很多大型的仪器厂商的产品都遵循这个标准,无论是USB、串口、GPIB或是以太网。NI-VISA就是使用这个标准开发出的一套软件,或者叫做驱动也行。就是根据这个标准,NI公司又进行了一次封装,并且提供了Driver wizard这个驱动向导软件。使用Driver wizard开发各种接口驱动时,实际上底层的驱动是VISA。在仪器控制方面,NIVISA提供了方便的图形化编程节点,可以让用户很快的根据自己所需仪器的特点编写相应的仪器驱动,然后在LabView开发环境中调用这些驱动,编写需要的应用程序,从而方便快捷的完成计算机对仪器的控制以及计算机与仪器之间的通信。