]> begriffs open source - cmsis/blob - CMSIS/DoxyGen/DAP/src/main.md
Initial intros about external CMSIS-components.
[cmsis] / CMSIS / DoxyGen / DAP / src / main.md
1 # CMSIS-DAP {#mainpage}
2
3 **CMSIS-DAP** is a **protocol** specification and an open-source **firmware** implementation that provides standardized access to the CoreSight Debug Access Port ([DAP](https://developer.arm.com/documentation/102585/0000/what-is-a-debug-access-port))
4  available on many Arm Cortex processors as part of the [CoreSight Debug and Trace](https://developer.arm.com/ip-products/system-ip/coresight-debug-and-trace) functionality.
5
6 ![Overview of CMSIS-DAP](./images/cmsis_dap_interface.png)
7
8 CMSIS-DAP supports target devices that contain one or more Cortex processors.
9
10 A processor device exposes Debug Access Port (DAP) typically either with a 5-pin JTAG or with a 2-pin Serial Wired Debug (SWD) interface that is used as a physical communication with a debug unit.
11
12 CMSIS-DAP provides the interface firmware for a debug unit that implements the communication between the debug port of the device and USB port. With it, a software debug tool that runs on a host computer can connect via USB and the debug unit to the device where the application firwmare gets executed.
13
14 ## Access to CMSIS-DAP
15
16 - [**CMSIS-DAP GitHub Repo**](https://github.com/ARM-software/CMSIS-DAP) provides the full source code.
17 - [**CMSIS-DAP Documentation**](https://arm-software.github.io/CMSIS-DAP/latest/) describes the implemented functions in details.
18
19 ## Key Features and Benefits
20
21  - Provides a standardized interface for debuggers. Interfaces to many standard debuggers is available.
22  - Access to CoreSight registers of all Cortex processor architectures (Cortex-A/R/M).
23  - Connects via 5-pin JTAG or 2-pin Serial Wire Debug (SWD).
24  - Supports multi-core debugging.
25  - Supports Serial Wire Output (SWO) of Cortex-M devices.
26  - Easy to deploy to debug units based on Cortex-M microcontrollers.
27  - Debug unit may be integrated on an evaluation board.
28  - Using USB bulk transfers avoids driver installation on host PC.
29  - Supports time-critical JTAG or SWD command execution.
30  - Supports Test Domain Timer for time measurement using the debug unit.
31  - Supports UART communication port, which can be routed to USB COM Port (optional) or native CMSIS-DAP commands.