CMSIS-DAP: Firmware Configuration

| CMSIS-DAP Version 1.2.0 (Proposal) 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 uses USB HID as 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 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\LPC-Link-II | CMSIS-DAP Firmware adapted to the NXP LPC-Link-II Debug Unit that is part of the LPCxpresso-II platform.
.\Firmware\Example\XMC4200 | CMSIS-DAP Firmware adapted to the Infineon XMC4200-based Debug Unit.

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.