- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10 分钟完成一个 USB 驱动程序
很多写 Windows Device Driver 的开发人员基本上都是使用 Windows DDK 进行开发的。 但是,
现在也有不少人都开始借助一些辅助工具。笔者去年开始接触到 riverStudio ,发现它真的是
一个不错的开发工具,不仅写代码的时候思路清晰,而且和 DDK 的结合很好。
当然,也有很多人觉得用 DriverStudio 不够正宗,或者说不能很好的理解 Windows Device
Driver 的架构。我感觉这就有点像 MFC 和 SDK 的关系,关于这个问题在很多地方都有争论,
比如在万千新闻组上,就讨论了将近 2 个月。 每个人都有自己的最爱, 都有自己的习惯,只
要你能把事情做好,我想用什么方法应该都是一样的。如果你已经习惯了用 DDK 开发,那
完全还可以继续用下去;如果你觉得 DriverStudio 不错,那尝试用一个可以给你按照 OOP
概念来编程的工具有什么不好呢?
在驱动开发网上,经常看到有人询问一些关于 DriverStudio 的使用的问题。我正好很有幸用
它作了几个驱动程序,包括 VXD, KMD 和 WDM ,稍微有点心得,因此想写下来给大家作
一个小小的参考。如果其中有错误,欢迎大家给我指出,谢谢。
下面我就介绍一下用 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 设备驱动程
序是 WDM 类型的 , 所以我们选择第二项并且点按钮 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. 在接下来的对话框中
文档评论(0)