笔者也是第一次开发驱动程序,以下是本人在前段时间驱动开发的一些体会和总结,也算是做下笔记吧,如果对看到本文的你有帮助的话,本人深感欣慰,很多不足之处,还恳请高手们能指点一下。
对于驱动程序开发的方式有以下几种:
1. DDK开发
2. DrvierStudio
3. WinDriver
对于以上几种的开发方式,网络上有比较详细的介绍,在此略为说明一下。
使用DDK开发的难度比较大,它需要开发人员比较熟悉操作系统的工作原理以及比较专业的硬件知识,一般大牛们都用这种方式来开发驱动程序。就像我们开发应用软件一样,直接使用SDK开发应用程序。
而使用DriverStudio工具开发,相对难度就比较低,不需要像使用DDK要求的专业知识比较高。类似于在应用软件开发中的VC开发工具。
WinDriver则是这几种开发工具中要求最低的一种,他有相应的Wizard工具作为驱动开发的引导。类似于应用软件开发工具中的VB。
对于三者以及更多驱动开发工具的介绍,可以去网络上查找更为详细的介绍。
由于之前一直在使用VC开发应用软件,只是最近一段时间开始做DSP中关于PCI驱动开发的一小部分工作。所以并没有什么驱动开发基础,对于硬件的了解也还只是停留在本科课程的微机原理和单片机原理上。为此我选择了使用WinDriver工具来开发驱动,同时也因为这个工具的开发周期相对来说比较短。很多的函数都是封装好了的,直接使用相对应的API函数就可以了,比较符合我个人的口味,hoho:)
个人感觉使用API函数比使用WinDriver自带的Wizard开发要相对容易点,使用Wizard生成的代码应该需要改不少东西,还是直接使用API函数来的清静~:)
好了,讲了不少的废话,开始我们的基于WinDriver的驱动开发之旅吧~。
第一, 熟悉WinDriver的各种API函数。
在WinDriver软件中自带的帮助文档中有比较详细的介绍。包括如何使用它来开发驱动以及各种相关API函数等等,有了这个帮助文档就足够了,也不需要去网络上找什么教程之类的文章了。更为方便的是,在介绍各个API函数的时候,帮助文档还提供了相应的例程,这是很好很方便的一种做法,不是吗,呵呵~ 。
第二, 熟悉WinDriver开发驱动的流程
由于笔者使用的是API函数开发的,即帮助文档中所说的Without WinDriverWizard的模式,所以关于使用Wizard