This content relates to a deprecated version of Mbed

Mbed 2 is now deprecated. For the latest version please see the Mbed OS documentation.

Arm Mbed DAPLink is an open-source software project that enables programming and debugging application software on running on Arm Cortex CPUs. Commonly referred to as interface firmware, DAPLink runs on a secondary MCU that is attached to the SWD or JTAG port of the application MCU. This configuration is found on nearly all development boards. It creates a bridge between your development computer and the CPU debug access port.

DAPLink interface firmware provides developers with:

  • drag-and-drop programming (MSC)
  • a virtual serial port (CDC)
  • CMSIS-DAP based debugging (HID)

More features are planned and will show up gradually over time. The project is constantly under heavy development by Arm, its partners, numerous hardware vendors and the open-source community around the world. DAPLink has superseded the mbed CMSIS-DAP interface firmware project. You are free to use and contribute. Enjoy!

HID interface

The driver-less HID interface provides a channel over which the CMSIS-DAP debug protocol runs. This enables all the leading industry standard toolchains to program and debug the target system. Supported tools include :

  • Keil MDK
  • IAR Workbench
  • pyOCD
  • Other CMSIS-DAP capable debuggers

USB Disk drag and drop programming

DAPLink debug probes also appear on the host computer as a USB disk. Program files in binary (.bin) and hex (.hex) formats can be copied onto the USB disk which then programs them into the memory of the target system. This is accomplished by embedded the flash programming algorithm into the interface firmware. Therefore, for drag0n-drop programming to work its important that the version of the DAPLink firmware being used is specifically built for the target system.

USB Serial Port

The DAPLink debug probe also provides a USB serial port which can be bridged through to a TTL UART on the target system. The USB Serial port will appear on a Windows machine as a COM port, or on a Linux machine as a /dev/tty interface and on Mac OS as a /dev/usbmodem. While Linux and Mac OS dont require any drivers, Windows version older than Windows 10 will require a serial port driver.

More information

All wikipages