CMSIS-DAP: Firmware Configuration

| CMSIS-DAP Version 2.0.0 Interface Firmware for CoreSight Debug Access Port

- Main Page
- Usage and Description
- Reference

All Functions Groups Pages
Content
Firmware Configuration

CMSIS-DAP is designed for Debug Units with Cortex-M microcontroller. More...

## Content
| Debug Unit Processor
| CMSIS-DAP Firmware runs on Debug Units with a Cortex-M microcontroller.
| Configure I/O Ports and Debug Unit
| DAP_config.h configures I/O ports and Debug Unit hardware parameters.
| Configure USB Peripheral
| CMSIS-DAP Firmware communicates via an USB interface to host computer.
| Flash Program Firmware
| The CMSIS-DAP Firmware is programmed into Flash ROM of a Debug Unit.

## Description

CMSIS-DAP is designed for Debug Units with Cortex-M microcontroller.

The CMSIS-DAP firmware can be deployed to a Debug Unit that is based on Cortex-M processor-based microcontroller.

CMSIS-DAP Debug Unit Hardware

The picture below shows the setup with an isolation adapter.

CMSIS-DAP Debug Unit with Isolation adapter

## Hardware Requirements

The CMSIS-DAP Firmware is designed for Debug Units that fulfil the following hardware requirements:

- Cortex-M0, Cortex-M0+, Cortex-M3, or Cortex-M4 processor-based microcontroller.
- CPU Clock: 48MHz or higher; microcontroller must have a SYSTICK timer.
- RAM: 8KB or more; Flash ROM: 16KB or more.
- Full-speed or High-speed USB Device Peripheral.
- 7 standard I/O pins for JTAG/SWD Device Interface.
- optional 2 I/O pins for Status LEDs.
- optional UART to support SWO capturing (Rx pin connected to SWO)

## CMSIS-DAP Firmware

The CMSIS-DAP Firmware can be configured for a new Debug Unit using at least the Keil MDK-Plus or MDK-Professional Edition. Reference implementations are provided as source code with complete project files and may be used as starting point for the firmware deployment to a new Debug Unit.

The folder .\Firmware\Config contains a template of the DAP_config.h configuration file. Various adaptations for different target hardware are provided.

Folders and Files | Description
--- | ---
.\Firmware\Example\V1\LPC-Link-II | CMSIS-DAP Firmware using USB HID adapted to the NXP LPC-Link-II Debug Unit that is part of the LPCxpresso-II platform.
.\Firmware\Example\V2\LPC-Link-II | CMSIS-DAP Firmware using WinUSB adapted to the NXP LPC-Link-II Debug Unit that is part of the LPCxpresso-II platform.

The CMSIS-DAP Firmware is designed to execute on a Debug Unit that is using a Cortex-M0, Cortex-M0+, Cortex-M3, or Cortex-M4 processor-based microcontroller. To deploy the firmware to a new Debug Unit copy an existing firmware adaptation to a new folder. For example, copy the folder .\Firmware\XMC4200 to a folder called .\Firmware\MyDebugUnit.

To following steps describe the adaptation of the CMSIS-DAP Firmware to a new Debug Unit:

1. Debug Unit Processor : Select the microcontroller and replace the CMSIS-Core (Cortex-M) files.
2. Configure I/O Ports and Debug Unit : Adapt the I/O Ports and specify other parameters for the Debug Unit.
3. Configure USB Peripheral : Adapt the USB Peripheral to the microcontroller.
4. Connect SWO Trace : Optional you may add a CMSIS-Driver USART to interface to SWO.
5. CMSIS-DAP Vendor Commands : Optional you may add vendor specific commands to the Debug Unit.
6. Flash Program Firmware : Program the adapted firmware to the Flash ROM of the new Debug Unit.
7. Validate Debug Unit : Validate the CMSIS-DAP firmware of the new Debug Unit.