amobbs.com 阿莫电子技术论坛

标题: Win10 下 USB 驱动程序开发 [打印本页]

作者: MCU_Coder    时间: 2023-11-3 23:04
标题: Win10 下 USB 驱动程序开发
Win10 下 USB 驱动程序开发
[attach]629369[/attach]


本文介绍了USB设备驱动相关的基本软硬件,和编写驱动的基本步骤和流程。通过编写一个包含三个端点的USB(UMDF V2)设备驱动,讲述了USB输入设备驱动的具体编写步骤,并给予了测试方法。文未附有完整程序代码。
硬件:
微软的Windows USB驱动程序框架开发例程(https://github.com/microsoft/Windows-driver-samples/tree/main/usb)基于OSR USB FX2开发板硬件。为了方便研究、测试USB驱动程序,我们使用NXP FRDM-K64 模拟实现 Cypress EZ-USB FX2Development Kit (CY3681)开发板USB功能,它包含 USB FX2 设备和实现客户端驱动程序所需的所有硬件规范(1 interfaceand 3 endpoints , Interrupt IN, Bulk Out, Bulk IN)。相关的USB协议栈代码也可以非常方便移植到NXP的其他系列MCU硬件,例如IMX RT10xx和LPC55xx系列。

软件:
在NXP MCUXpresso SDK USB例程dev_printer_virtual_plain_text_bm基础上,增加一个 interrupt IN EP中断端点。按下FRDM-K64SW3按键后发送 0x55 到 Interrupt EP中断端点,模拟EZ-USB FX2 的 Switch 拨码状态。
在开发宿主机计算机上安装Visual Studio 2019以上版本。安装Windows 驱动程序工具包 (WDK)。

本文介绍使用 Microsoft Visual Studio Community 2019 编译Win10 内核驱动例程 Sample KMDF Function Driver for OSR USB-FX2(https://github.com/microsoft/Win ... master/usb/kmdf_fx2)。从 github 下载代码后编译生成 Win10 内核驱动osrusbfx2.sys 文件。

相关的测试源代码
NXP FRDM-K64 模拟实现 Cypress EZ-USB FX2Development Kit (CY3681)开发板
链接:https://pan.baidu.com/s/11Au_nb0PwCrqeBQQsBtysw
提取码:stfq
USB内核驱动例程
链接:https://pan.baidu.com/s/1FaxgNmoU2cSwZRblqJmwiQ
提取码:my7i

https://github.com/microsoft/Win ... master/usb/kmdf_fx2

作者: Himem    时间: 2023-11-3 23:22
用winusb/libusb就搞定了吧
作者: iamseer    时间: 2023-11-4 08:17
自己写驱动,怎么解决签名的问题?
作者: casterbn    时间: 2023-11-4 11:09

自己写驱动,怎么解决签名的问题?+1
作者: MCU_Coder    时间: 2023-11-4 13:15
casterbn 发表于 2023-11-4 11:09
自己写驱动,怎么解决签名的问题?+1
(引用自4楼)

Windows内核驱动程序需要申请WHQL认证解决驱动签名的问题。这部分需要公司商务处理,不是开发人员的职责。
作者: casterbn    时间: 2023-11-4 14:15
了解了
作者: Himem    时间: 2023-11-4 14:21
MCU_Coder 发表于 2023-11-4 13:15
Windows内核驱动程序需要申请WHQL认证解决驱动签名的问题。这部分需要公司商务处理,不是开发人员的职责 ...
(引用自5楼)

https://www.amobbs.com/thread-5598249-1-1.html
作者: iamseer    时间: 2023-11-4 19:33
MCU_Coder 发表于 2023-11-4 13:15
Windows内核驱动程序需要申请WHQL认证解决驱动签名的问题。这部分需要公司商务处理,不是开发人员的职责 ...
(引用自5楼)

合着贵司内部就是互相甩锅而不是同心协力是吧。




欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4