CMSIS-DAP
Version 2.1.1
Interface Firmware for CoreSight Debug Access Port
|
CMSIS-DAP firmware communicates via USB with the host computer. More...
CMSIS-DAP firmware communicates via USB with the host computer.
The USB communication is implemented via MDK-Middleware components that access the USB peripheral of the microcontroller.
The CMSIS-DAP v2 firmware uses USB bulk endpoints that provide high-speed communication. In addition, Communication Device Class is used to enable USB COM port.
For the USB interface it is important to provide correct configuration information for the USB peripheral as described in this section.
The following steps describe how to change and configure the USB peripheral in the CMSIS-DAP firmware project:
Depending on the configuration, it uses the following USB endpoints which should be configured in the interface descriptor in this order:
Additional settings for Microsoft Windows
For automatic installation of a CMSIS-DAP v2 enabled debug adapter in Windows, use the following WinUSB GUID in the USB custom class:
USB Driver and *.inf file
Windows 8 and above does not require a WinUSB driver provided that the USB firmware stack supports Microsoft descriptors. CMSIS-DAP v2 device should be configured as WCID (Windows Compatible ID) device which provides extra information to a Windows system to facilitate automated driver installation.
For Windows 7, the CMSIS-DAP v2 device will install automatically if the PC is connected to the Internet and device installation settings are set to automatically download and install drivers for devices. The installed device will be seen in the Device Manager under Universal Serial Bus devices as a WinUSB Device.
If no Internet connection is available or you want the device to show with a different name in the Device Manager, you should provide an .inf file and sign it to generate .cat files. More information is available from Microsoft under the topic Steps for Signing a Device Driver Package.
The following CMSIS_DAP_v2.inf file should be provided for an Windows 7 host PC.
[Version] Signature = "$Windows NT$" Class = USBDevice ClassGUID = {88BAE032-5A81-49f0-BC3D-A4FF138216D6} Provider = %ManufacturerName% DriverVer = 04/13/2016, 1.0.0.0 CatalogFile.nt = CMSIS_DAP_v2_x86.cat CatalogFile.ntx86 = CMSIS_DAP_v2_x86.cat CatalogFile.ntamd64 = CMSIS_DAP_v2_amd64.cat ; ========== Manufacturer/Models sections =========== [Manufacturer] %ManufacturerName% = Devices, NTx86, NTamd64 [Devices.NTx86] %DeviceName% = USB_Install, USB\VID_c251&PID_f000 [Devices.NTamd64] %DeviceName% = USB_Install, USB\VID_c251&PID_f000 ; ========== Class definition =========== [ClassInstall32] AddReg = ClassInstall_AddReg [ClassInstall_AddReg] HKR,,,,%ClassName% HKR,,NoInstallClass,,1 HKR,,IconPath,0x10000,"%%SystemRoot%%\System32\setupapi.dll,-20" HKR,,LowerLogoVersion,,5.2 ; =================== Installation =================== [USB_Install] Include = winusb.inf Needs = WINUSB.NT [USB_Install.Services] Include = winusb.inf Needs = WINUSB.NT.Services [USB_Install.HW] AddReg = Dev_AddReg [Dev_AddReg] HKR,,DeviceInterfaceGUIDs,0x10000,"{CDB3B5AD-293B-4663-AA36-1AAE46463776}" ; =================== Strings =================== [Strings] ClassName = "Universal Serial Bus devices" ManufacturerName = "KEIL - Tools By ARM" DeviceName = "CMSIS-DAP v2"