USB驱动开发
本专栏主要讲解windows下usb驱动开发和linux usb驱动开发的相似地方及主要区别
smilestone322
通过软考: 系统架构设计师和信息系统项目管理师考试
工业相机和DVR开发,熟悉windows驱动开发,camera sdk开发,3D摄像头sdk开发。
联系方式:smilestone322@sina.com
展开
-
设置接口 Set Interface
协议如下: bmRequestType bRequest wValue wIndex wLength 00000001B SET_INTERFACE Alternate Setting Interface Zero 功能:这个请求用于主机为指定的接口选择替代设置(alte...原创 2021-04-17 15:45:42 · 1365 阅读 · 0 评论 -
windows xp/ server 2003 usb 驱动开发 记录
windows xp/ server 2003 usb 驱动开发 记录1.公司有个usb驱动,原来只支持win7以上的系统,有客户提出要支持 xp和2003系统。2.usb 驱动原来是基于wdf开发的,想适配xp,但是有不能改接口,所以最好的方案就是复用原来的wdf的驱动代码;3. 要用wdf,又要支持xp,只能用wdk7600 以下的版本。4.移植遇到的问题4.1 xp的内存分配,wdk7600的wdm.h文件没有 NonPagedPoolEx的 POOL_TYPE,而原来由于w.原创 2021-01-27 21:09:45 · 626 阅读 · 2 评论 -
windows驱动签名
转自:2019年最新WHQL认证申请流程https://zhuanlan.zhihu.com/p/59189322WHQL是Windows Hardware Quality Lab.的简称, 翻译成中文是windows系统硬件质量实验室。实验室主要执行windows徽标计划,检验硬件产品和驱动程序在windows系统下的兼容性和稳定性。在此之前笔者有简述2016年申请WHQL认证流程,到现在Windows已经更新好几个版本,认证的网站和测试工具都一定的变化。笔者认为有必要将2019年最新的WHQ转载 2020-09-10 11:00:50 · 1843 阅读 · 10 评论 -
yealink学习笔记20200422UVC协议、usb摄像头抓包
UVC协议学习以及UVC摄像头抓包对比UVC协议数据帧通过BUS Hound抓包得到数据文件如下先看第一行,CTL意为“USB control transfer”,即控制传输,熟悉USB通信的朋友应该都知道USB有四种数据传输方式,其中“控制传输”为仅有的双向传输方式,USB枚举过程中就是用的控制传输方式与USB从机的端点0进行通信的,Device那一列“19.0”,表示通信端点为UVC设备的端点0。UVC摄像头插入PC后,PC向其端点0发送了8个Byte的数据:80 06 00 0100 ..转载 2020-06-18 20:28:36 · 1415 阅读 · 0 评论 -
WDM和WDF usb驱动不同点
1)ddk 和wdk ddk是基于wdm驱动模型的,而wdk是基于WDF驱动模型的,wdm驱动模型和wdf驱动模型的最大的区别是:1)wdf驱动框架对WDM进行了一次封装,WDF框架就好像C++中的基类一样,且这个基类中的model,IO model ,pnp和电源管理模型;且提供了一些与操作系统相关的处理函数,这些函数好像C++中的虚函数一样,WDF驱动中能够对这些函数进行overr原创 2011-12-01 15:19:42 · 5767 阅读 · 7 评论 -
详细解析windows usb驱动和linux usb驱动的相似和差异(十)
版权信息: 版权归smilestone322所有,保留所有权利,仅用来学习,请勿用于商业用途,欢迎转载,转载请注明出处。谢谢!5.linux usb和windows usb 驱动开发异同小结 从到从介绍了usb驱动的基础知识,及对windows 下dw,ddk,wdk,和linux下的usb驱动都针对一个例子进行了介绍,个人觉得从不同平台来看,usb驱动开发有他的相似原创 2011-03-19 23:19:00 · 2278 阅读 · 2 评论 -
详细解析windows usb驱动和linux usb驱动的相似和差异(九)
4 linux下usb驱动开发 终于轮到讲解linux下的usb驱动开发了,在开始之前还得讲讲linux下usb开发和windows usb驱动开发的区别,linux下驱动的好处就是开源,也是它的优点吧,无论什么上的驱动,在linux内核的源码中都能找到类似的代码,我们可以根据这些源码进行改写,linux驱动程序分为2部分,第一部分就是usb bus驱动,这一部分,linux系原创 2011-03-19 23:18:00 · 2567 阅读 · 2 评论 -
详细解析windows usb驱动和linux usb驱动的相似和差异(八)
版权信息: 版权归smilestone322所有,保留所有权利,仅用来学习,请勿用于商业用途,欢迎转载,转载请注明出处。谢谢! 3.3 wdk驱动开发 通过driver studio 3.2 和DDK驱动的比较分析,我们发现它们两个开发驱动程序都是类似的,毕竟ds3.2就是对ddk的又一次封装而已,那么wdk和前面两种方法有什么不同呢,本原创 2011-03-19 23:16:00 · 3581 阅读 · 0 评论 -
详细解析windows usb驱动和linux usb驱动的相似和差异(七)
版权信息: 版权归smilestone322所有,保留所有权利,仅用来学习,请勿用于商业用途,欢迎转载,转载请注明出处。谢谢!3.2 ddk驱动开发 上面讲解了driver studio+ddk开发驱动的方法,但是开发driver studio的公司已经停止对ds3.2进行维护了,ds版本最终定格在3.2,换句话说ds 3.2 已经成为了过气的明星,不过初学者学习 dr原创 2011-03-19 23:14:00 · 2413 阅读 · 0 评论 -
详细解析windows usb驱动和linux usb驱动的相似和差异(六)
版权信息: 版权归smilestone322所有,保留所有权利,仅用来学习,请勿用于商业用途,欢迎转载,转载请注明出处。谢谢!3 windows下usb驱动开发 3.1 dw+ddk usb驱动开发实例 采用driver studio3.2进行驱动开发是最简单的方法,因为它可以采用driver works生成一个驱动的框架,你只要填充你自己的部分实现和硬件通原创 2011-03-19 23:12:00 · 2520 阅读 · 2 评论 -
详细解析windows usb驱动和linux usb驱动的相似和差异(五)
版权@smilestone322,转载注明出处!谢谢2.4 linux驱动开发基础 linux 驱动包括3 个方面的内容,字符驱动,块驱动,网络驱动,这3 种驱动有不同之处,但是驱动模型都是类似的,在讲解linux 驱动开发基础时,先以字符驱动为例,讲解下字符驱动的驱动模型,然后也简单的介绍块设备驱动,和网络设备驱动。2.4.1 字符设备驱动在linux 系统中,很多驱动原创 2011-03-19 23:08:00 · 4750 阅读 · 4 评论 -
详细解析windows usb驱动和linux usb驱动的相似和差异(四)
版权信息: 原创作品版权都归smilestone322所有,保留所有权利,仅用来学习,请勿用于商业用途,欢迎转载,转载请注明出处。谢谢!2驱动基础知识 68013带有自己的驱动的程序的,但是在这里为了讲解usb驱动程序的开发方法,我们还是自己的驱动程序吧,我自己的驱动程序比它自带的驱动程序效果更好,呵呵,传输速度更快,网上有网友说,Ezusb驱动程序的缺点一原创 2011-03-19 23:02:00 · 3695 阅读 · 1 评论 -
详细解析windows usb驱动和linux usb驱动的相似和差异(三)
1.2)68013芯片资料 Cypress 68013的芯片数据手册在这里不一一列出了,具体的资料大家给到它的官网上下载,下面是56脚CY7C68013A接口图:l 单片集成USB2.0收发器、SIE和增强型8051微处理器。l 软件:从内部RAM运行的8051程序来自于:——通过USB接口下载,或——从EE原创 2011-03-19 22:57:00 · 2284 阅读 · 0 评论 -
详细解析windows usb驱动和linux usb驱动的相似和差异(二)
版权信息: 版权归smilestone322所有,保留所有权利,仅用来学习,请勿用于商业用途,欢迎转载,转载请注明出处。谢谢!1 Usb通信协议 Usb驱动程序是PC中最主要的设备驱动程序,usb总线协议比PCI总线协议复杂,但是对于我们usb驱动开发者来说,并需要对usb通信协议每个东东都搞清楚,比如usb物理层协议,usb传输层协议等等,只要了解即可。原创 2011-03-19 22:48:00 · 2922 阅读 · 2 评论 -
浅谈usb的枚举过程及Ndis驱动的分层结构
一家大型企业技术面试题如下:叙述usb 枚举过程?(1)当系统重启,硬件介入或添加新设备时,会进行usb设备枚举(2)然后总线驱动程序检测到新的usb硬件;根据usb设备描述符合usb配置描述符,获取厂商(VID,PID),设备类型,版本等信息;(3)根据这些信息,Pnp管理器创建物理驱动对象(PDO),并在注册表中添加某些信息;(4)Pnp管理器查找注册表中与该PDO一致原创 2011-03-10 14:54:00 · 2996 阅读 · 1 评论 -
windows wdf 驱动开发总结(4)--usb驱动
(73) WdfIoTargetStart函数功能:starts sending queued requests to a local or remote I/O target.NTSTATUS WdfIoTargetStart( [in] WDFIOTARGET IoTarget);参数:IoTarget [in] A handle to原创 2010-10-07 10:45:00 · 5706 阅读 · 2 评论 -
windows wdf 驱动开发总结(3)-usb驱动
(28) WdfDeviceAllocAndQueryProperty函数功能:allocates a buffer and retrieves a specified device propertyNTSTATUS WdfDeviceAllocAndQueryProperty( IN WDFDEVICE Device, IN DEVICE_RE原创 2010-10-07 09:51:00 · 5273 阅读 · 0 评论 -
windows wdf 驱动开发总结(2)--usb驱动
武安河:Usbsample(14) WDF_REQUEST_SEND_OPTIONS_INIT函数功能:initializes a driver'sWDF_REQUEST_SEND_OPTIONS structureVOID WDF_REQUEST_SEND_OPTIONS_INIT( OUT PWDF_REQUEST_SEND_OPTIONS Options,原创 2010-10-07 09:50:00 · 4535 阅读 · 0 评论 -
windows wdf 驱动开发总结(1)--usb驱动
(一)EZ-USB-Fx2 USB驱动相关(1)WDF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE功能:初始化驱动的WDF_IO_QUEUE_CONFIG结构VOID WDF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE( __out PWDF_IO_QUEUE_CONFIG Config, __in WDF_IO原创 2010-10-07 09:49:00 · 5419 阅读 · 3 评论