用DriverStudio开发USB驱动程序.pdfVIP

  • 8
  • 0
  • 约6.2千字
  • 约 14页
  • 2017-07-29 发布于湖北
  • 举报
权归原 权人所有,请勿用于商业用途! 用DriverStudio 开发USB 驱动程序 很多写Windows Device Driver 的开发人员基本上都是使用Windows DDK 进行开发的。但是,现在也有不少人都开始借助 一些辅助工具。笔者去年开始接触到DriverStudio,发现它真的是一个不错的开发工具,不仅写代码的时候思路清晰,而且和 DDK 的结合很好。 当然,也有很多人觉得用DriverStudio 不够正宗,或者说不能很好的理解Windows Device Driver 的架构。我感觉这就有点 像MFC 和SDK 的关系,关于这个问题在很多地 都有争论,比如在万千新闻组上,就讨论了将近2 个月。每个人都有自己的 最爱,都有自己的习惯,只要你能把事情做好,我想用什么 法应该都是一样的。如果你已经习惯了用DDK 开发,那完全还 可以继续用下去;如果你觉得DriverStudio 不错,那尝试用一个可以给你按照OOP 概念来编程的工具有什么不好呢? 在驱动开发网上,经常看到有人询问一些关于DriverStudio 的使用的问题。我正好很有幸用它作了几个驱动程序,包括VXD, KMD 和W DM,稍微有点心得,因此想写下来给大家作一个小小的参考。如果其中有错误,欢迎大家给我指出,谢谢。 下面我就介绍一下用DriverStudio 开发一个USB 驱动程序的过程。这个USB 设备有3 个双向端点,每个端点的配 如下: EP 类型 地址 buffer(Bytes) 0 IN/OUT Control 0x80/0x00 16/ 16 1 IN/OUT Bulk 0x81/0x01 16/ 16 2 IN/OUT Bulk 0x82/0x02 64/64 我们的驱动程序需要实现的功能就是控制设备上的LED 灯的亮和灭,以及通过Endpoint 2 对设备进行读写。 由于DriveStudio 由几个部分组成,我们写这个驱动程序只要用到DriverWorks,因此下面我们就简称它为DW。在这里, 我们假定读者已经正确的安装了DW,并且已经编译好了各个库文件。 1. 首先,我们通过快捷 式Setup DDK and Start MSVC 来启动VC IDE。这个快捷 式所指向的程序,会进行一些必要的设 ,然后再启动VC IDE,这样我们的程序就可以使用DDK 和DW 的头文件和库了。 2. 从VC IDE 的菜单DriverStudio中选择DriverWizard, 在如图1 所示的对话框中, 写上项目名称. 在这里, 我们将这个项目 称为: TEST, 所在的目录为D:\TEST. 然后点按钮Next . 更多资料下载: 权归原 权人所有,请勿用于商业用途! 图1 3. 在接下来的这个对话框中(如图2), 我们需要选择驱动程序的类型. 由于USB 设备驱动程序是W DM 类型的, 所以我们选择 第二项并且点按钮Next . 图2 更多资料下载: 权归原 权人所有,请勿用于商业用途! 4. 在第3 个对话框中(如图3), 选择我们的驱动程序所操作的总线类型. 这里, 我们选择USB. 在USB Vendor ID 和USB Product ID 中填入USB 设备的VID 和PID. 假定我们的USB 设备的VID 和PID 分别是16 进制的0471 和1801. 然后点按钮 Next . 关于VID 和PID 的规定请参考USB-IF 的规范. 图3 5. 在接下来的对话框中(如图4), 我们需要加入Endpoint 1 和Endpoint 2 的定义. 由于在USB 中规定Endpoint 0 是必须存在 的, 所以我们不需要对Endpoint 0 进行定义. 点Add...按钮, 弹出一个如图5 所示的对话框. 我们将它修改成如图6 所示. 其 中, 按照USB 的规定, 对于端点, 它的地址是1; 按照前面说明的设备的特点, Endpoint 1 的最大的包大小为16 字节, 因此在 Max Transer

文档评论(0)

1亿VIP精品文档

相关文档