硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4144|回复: 4
收起左侧

[USB] RL-USB应用到CMSIS-DAP V2中的WinUSB模式实现Win8,Win10免驱的关键说明,Win7联网也可以免驱

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2020-9-2 11:36:39 | 显示全部楼层 |阅读模式


配置USB,直接使用MDK的RTE开发环境配置即可,简单易用。

HID模式是配的CMSIS-DAP V1版,免驱
WinUSB模式是配的CMSIS-DAP V2版,需要一个inf驱动文件,Win10可以免驱。

USB配置注意事项
usb_config_0.c文件:
USB Device 0 - High-speed:  使能高速还是全速
Update Device Settings - Vendor ID  厂商ID
Update Device Settings - Product ID 专供Debug Unit调试单元
Update Device Settings - Device Release Number  更新版本
Update String Settings  - Manufacturer String  反映Debug Unit调试单元的厂家,必须与Vendor ID匹配
Update String Settings  - Product String  指示调试单元,请注意,“ CMSIS-DAP”必须是该字符串的一部分,以允许调试器进行标识(或USB复合设备的接口字符串的一部分)。

可选配置,每个调试单元可以提供唯一的序列号字符串 Serial Number String。如果未提供“ String Settings - Serial Number String”,则由于无法识别多个调试单元,因此只能将一个调试单元同时连接到主机。

强调一下:
1、固件配置时,USB设备设置高速/全速USB必须反映在DAP_config.h文件中。
2、String Settings - Product String 必须包含字符串“CMSIS-DAP”。调试器使用它来标识连接到主机的CMSIS-DAP兼容调试单元。





CMSIS-DAP V2使用WinUSB,速度更快。通过附加的USB端点可以支持SWO跟踪流。WinUSB配置要求 interface setting – Class Code: 0xFF (Vendor specific), Subclass: 0x00, Protocol code: 0x00 。根据配置,它使用以下USB端点,这些USB端点应按以下顺序在接口描述符中进行配置:

端点1:批量输出–用于从主机PC接收的命令。
端点2:批量输入-用于将响应发送到主机PC。
端点3:批量输入(可选)–用于流式传输SWO跟踪(如果启用了SWO_STREAM)。
要通过调试器识别CMSIS-DAP V2配置,必须使用以下WinUSB GUID:

{CDB3B5AD-293B-4663-AA36-1AAE46463776}

下图显示了USB自定义类的配置



USB的inf驱动文件:

Windows 8和Windows 10不需要WinUSB驱动程序,前提是USB协议堆栈支持Microsoft描述符。CMSIS-DAP v2设备应配置为WCID(Windows兼容ID)设备,该设备向Windows系统提供额外的信息以促进自动驱动程序的安装。

对于Windows 7,如果PC连接到Internet,并且PC的“设备安装设置”设置为自动下载和安装设备的驱动程序,则CMSIS-DAP v2设备将自动安装。自动安装的设备将在“设备管理器”中的“通用串行总线”设备下显示为WinUsb设备。

如果没有可用的Internet连接,或者您希望设备在“设备管理器”下显示为不同的名称,则应提供一个.inf文件并对其进行签名以生成.cat文件。可从Microsoft下的主题为“设备驱动程序包的签名步骤”获得更多信息。

Windows 7主机提供以下CMSIS_DAP_v2.inf文件。

  1. [Version]
  2. Signature = "$Windows NT$"
  3. Class     = USBDevice
  4. ClassGUID = {88BAE032-5A81-49f0-BC3D-A4FF138216D6}
  5. Provider  = %ManufacturerName%
  6. DriverVer = 04/13/2016, 1.0.0.0
  7. CatalogFile.nt      = CMSIS_DAP_v2_x86.cat
  8. CatalogFile.ntx86   = CMSIS_DAP_v2_x86.cat
  9. CatalogFile.ntamd64 = CMSIS_DAP_v2_amd64.cat

  10. ; ========== Manufacturer/Models sections ===========

  11. [Manufacturer]
  12. %ManufacturerName% = Devices, NTx86, NTamd64

  13. [Devices.NTx86]
  14. %DeviceName% = USB_Install, USB\VID_c251&PID_f000

  15. [Devices.NTamd64]
  16. %DeviceName% = USB_Install, USB\VID_c251&PID_f000

  17. ; ========== Class definition ===========

  18. [ClassInstall32]
  19. AddReg = ClassInstall_AddReg

  20. [ClassInstall_AddReg]
  21. HKR,,,,%ClassName%
  22. HKR,,NoInstallClass,,1
  23. HKR,,IconPath,0x10000,"%%SystemRoot%%\System32\setupapi.dll,-20"
  24. HKR,,LowerLogoVersion,,5.2

  25. ; =================== Installation ===================

  26. [USB_Install]
  27. Include = winusb.inf
  28. Needs   = WINUSB.NT

  29. [USB_Install.Services]
  30. Include = winusb.inf
  31. Needs   = WINUSB.NT.Services

  32. [USB_Install.HW]
  33. AddReg  = Dev_AddReg

  34. [Dev_AddReg]
  35. HKR,,DeviceInterfaceGUIDs,0x10000,"{CDB3B5AD-293B-4663-AA36-1AAE46463776}"

  36. ; =================== Strings ===================

  37. [Strings]
  38. ClassName        = "Universal Serial Bus devices"
  39. ManufacturerName = "KEIL - Tools By ARM"
  40. DeviceName       = "CMSIS-DAP v2"
复制代码


评分

参与人数 1金币 +20 收起 理由
missfox + 20 很给力!

查看全部评分

回复

使用道具 举报

23

主题

1404

回帖

1473

积分

至尊会员

积分
1473
发表于 2020-9-2 12:10:17 | 显示全部楼层
终于可以嫖免驱了
代码不规范,亲人两行泪!
回复

使用道具 举报

8

主题

78

回帖

102

积分

初级会员

积分
102
发表于 2020-9-2 12:32:02 | 显示全部楼层
点1:批量输出–用于从主机PC接收的命令。
端点2:批量输入-用于将响应发送到主机PC。
端点3:批量输入(可选)–用于流式传输SWO跟踪(如果启用了SWO_STREAM)。


以前看到的端点的输入输出应该是交替出现,端点号的bit0代表输入输出,2和3可以同为输入吗?还是我看的资料有问题?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2020-9-2 14:38:42 | 显示全部楼层
he2002512 发表于 2020-9-2 12:32
点1:批量输出–用于从主机PC接收的命令。
端点2:批量输入-用于将响应发送到主机PC。
端点3:批量输入( ...

你说的貌似不是这个,

这个是USB的硬件端点。
回复

使用道具 举报

12

主题

59

回帖

95

积分

初级会员

积分
95
发表于 2024-1-31 09:26:06 | 显示全部楼层
装不上, 指定的文件夹没有包含设备的兼容软件驱动程序.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 17:26 , Processed in 0.282895 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表