CMSIS-DAP
Version 2.0.0
Interface Firmware for CoreSight Debug Access Port
|
CMSIS-DAP Firmware communicates via an USB interface to host computer. More...
CMSIS-DAP Firmware communicates via an USB interface to host computer.
The USB communication is implemented via MDK middleware components that access the USB peripheral of the microcontroller.
The CMSIS-DAP Firmware is able to communicate with the host computer using one of the following USB classes:
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:
The CMSIS-DAP Firmware can be also part of a USB composite device. If this case, the HID Interface String must contain the sub-string CMSIS-DAP. The HID Interface String is configured in the file USBD_Config_HID_0.h under the category Human Interface Device Class Settings.
The picture below shows the configuration of the USB custom class.
USB Driver and *.inf file
Windows 8 and Windows 10 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 PC is connected to the Internet and Device Installation Settings of PC are set to automatically download and install drivers for devices. Automatically installed device will be seen in Device Manager under Universal Serial Bus devices as WinUsb Device
If no Internet connection is available or you want device to show with different name under 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"