usb驱动开发工具比较

usb驱动开发工具比较

ID:34726704

大小:89.18 KB

页数:6页

时间:2019-03-10

usb驱动开发工具比较_第1页
usb驱动开发工具比较_第2页
usb驱动开发工具比较_第3页
usb驱动开发工具比较_第4页
usb驱动开发工具比较_第5页
资源描述:

《usb驱动开发工具比较》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、usb驱动开发工具比较USB驱动开发的主要工具:DDK(DDK是DeviceDevelopmentKit,设备开发包的意思)、WinDriver、DriverStudio三种(不知道是否适合于其它驱动的开发)。比较如下:用WinDriver和DriverStudio开发驱动比DDK简单容易上手,但WinDriver开发驱动没法脱离WinDriver环境不好发布,所以还是用DriverStudio比较好。下面内容转自网络:1Microsoft公司提供的WindowsDDK(DeviceDriverKit)。它有Windows98DDK和Windows2000DDK两个版本。Windo

2、ws98DDK能够开发Windows95/98/Me/NT下的VxD、KMD和WDM驱动程序。Windows2000DDK能够开发Windows98/Me/NT/2000下的KMD和WDM驱动程序。由于DDK基于汇编语言的编程方式和内核模式的调用,对没有深厚的OS原理和编程水平的人员来说,任务相当艰巨。2NuMega公司提供的DriverStudio,它是一个大的开发工具包,包含VtoolsD、SoftICE和DriverWorks等开发工具。VtoolsD开发包提供了对VxD编程的C/C++类库支持,利用VtoolsD中的QuickVxD工具可以快速生成VxD的C/C++代码框架

3、,开发者可以在此基础上根据各自的需要添加自己的代码。DriverWorks用于开发KMD和WDM驱动程序,并且对DDK函数进行了类的封装,从而为开发WindowsNT、Windows2000和Widnwos98WDM设备驱动程序提供了一个自动化的方法。DriverWorks,提供了VC++下的开发向导DriverWizard,按照它的提示可以迅速地生成驱动程序的框架。这个框架结构提供可以正确执行WDM动态环境中IRP的请求,而且,也包含用于简化系统提供的标准类驱动程序(如HID、流)和总线驱动程序(如PCI和USB)接口的类等。  总之,利用DriverWorks开发WDM驱动程序

4、,可以大大简化开发人员的工作量、缩短开发周期以及降低开发驱动程序的难度。[1]  用DriverWorks开发WDM型USB设备驱动程序  要想使用DriverWorks,必须先安装以下软件:DriverStudio2.5,VisualStudio6.0,以及Windows2000DDK。由于DriverWorks所用的类库是对DDK的库函数的封装,还必须在VisualC++中编译需要的库文件[3],下面介绍怎样在VC环境中创建自己的库文件。  (1)启动VisualC++。  (2)选择菜单FileOpenWorkspace。打开位于DriverStudioDriverWor

5、ksSourcevdwlibs.dsw的工作空间文件。  (3)选择菜单BuildBatchBuild,在弹出的对话框架中选择你想编译的库。  (4)点击对话框中的Build即可编译你选择的库。  下面就通过一个例子来说明利用DriverWorks开发USB设备驱动程序的方法。  这个USB设备有3个双向端点,每个端点的配置如下:端点类型地址缓冲区(字节)0IN/OUT控制(Control)0x80/0x0016/161IN/OUT块(Bulk)0x81/0x0116/162IN/OUT块(Bulk)0x82/0x0264/64  驱动程序需要实现的功能就是控制设备上的LED

6、灯的亮和灭,以及通过端点2对设备进行读写。  (1)首先,通过快捷方式“SetupDDKandStartMSVC”来启动VCIDE。这个快捷方式所指向的程序,会进行一些必要的设置,然后再启动VCIDE,这样我们的程序就可以使用DDK和DW的头文件和库了。  (2)从VCIDE的菜单“DriverStudio”中选择“DriverWizard”,之后按对话框的提示填写项目名称及所在目录。并按向导选择驱动程序类型为WDM,总线类型为USB。  (3)按端点的配置表进行端点的设置。由于在USB中规定端点0是必须存在的,所以我们只需对端点1和端点2进行定义即可。(4)选择端点2产生BULK

7、Read及BULKWrite的代码,DriverWorks会自动产生对端点2的读写代码,不用修改,就可以直接使用。  (5)增加一个IOCTL来控制USB设备的LED灯。IOCTL代码名称取为TEST_IOCTL_LED,其他值默认。  (6)最后按下“Finish”按钮,就结束了Wizard。在此过程中只针对需要修改的步骤进行了说明,未加说明的部分均可直接按“Next”按钮。  到此,我们已经创建好了一个基本的驱动程序,其中的块读写代码都由DriverWorks自动

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。