CMSIS-DAP: Firmware configuration

| CMSIS-DAP Version 2.1.1 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 a 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 USB with the host computer.
| Flash program the firmware
| The CMSIS-DAP firmware is programmed into the Flash ROM of a debug unit.

## Description

CMSIS-DAP is designed for debug units with a 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-M processor-based microcontroller.
- CPU Clock: 48 MHz or higher; microcontroller must have a SYSTICK timer.
- RAM: 8 KB or more.
- Flash ROM: 16 KB or more.
- Full-speed or High-speed USB Device peripheral.
- 7 standard I/O pins for JTAG/SWD interface.
- Optionally, 2 I/O pins for status LEDs.
- Optionally, a UART to support SWO capturing (Rx pin connected to SWO).
- Optionally, a UART to support an additional UART communication port (for printf debugging).

## 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\Examples\LPC-Link2 | CMSIS-DAP firmware using USB bulk transfers adapted to the NXP LPC-Link2 debug unit.
.\Firmware\Examples\MCU-LINK | CMSIS-DAP firmware using USB bulk transfers adapted to the NXP MCU-LINK debug unit.

The CMSIS-DAP firmware is designed to execute on a debug unit that is using a Cortex-M 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\Examples\MCU-LINK 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 : Optionally, you may add a CMSIS-Driver USART to interface to SWO.
5. Connect UART communication port : Optionally, you may add a CMSIS-Driver USART to interface to UART communication port.
6. CMSIS-DAP Vendor Commands : Optionally, you may add vendor specific commands to the debug unit.
7. Flash program the firmware : Program the adapted firmware to the Flash ROM of the new debug unit.
8. Validate the debug unit operation : Validate the CMSIS-DAP firmware of the new debug unit.