Arm Mbed DAPLink
An open-source software project that enables programming and debugging application running on Arm Cortex CPUs.¶
Arm Mbed DAPLink is an open-source software project that enables programming and debugging application software on running on Arm Cortex CPUs.
DAPLink enables developers with drag-and-drop programming, a serial port and CMSIS-DAP based debugging. 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!
For more information, please visit Arm Mbed DAPLink page.
DAPLink enables developers with:
- MSC - drag-n-drop programming flash memory
- CDC - virtual com port for log, trace and terminal emulation
- HID - CMSIS-DAP compliant debug channel
- WEBUSB HID - CMSIS-DAP compliant debug channel
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!
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.
How to update DAPLink for nRF5832-MDK?¶
You can update DAPLink interface firmware by performing the following steps:
While holding the board's RESET button, connect it to your computer. The device mounts in its bootloader mode. The drive name should be
firmware.binfrom this device's root directory.
Download the latest DAPLink firmware. You can find it in the directory
nrf52832-mdk/firmware/daplinkwith the name
Copy the new interface firmware to the drive:
Windows - Drag and drop the
.binfile downloaded before into this directory.
macOS - Run the following scripts:
$ sudo mount -u -w -o sync /Volumes/CRP DISABLD $ cp -X <path to interface firmware file> /Volumes/CRP DISABLD/
Linux - Run the following scripts:
$ cp <path to interface firmware file> <CRP DISABLD> && sync
When the file copy operation completes, unplug and replug the board into your computer normally (without holding down the RESET button). Your device now has the new firmware installed and mounts a drive named DAPLINK.
DETAILS.TXTfile in DAPLINK to verify the
How to build DAPLink?¶
This tutorial will show you how to create a release build of DAPLink.
Set up prerequisites¶
Install the necessary tools listed below. Skip any step where a compatible tool already exists.
- Install Python 2, 2.7.9 or above. Add to PATH.
- Install Git. Add to PATH.
- Install Keil MDK-ARM, preferably version 5. Set environment variable "UV4" to the absolute path of the UV4 executable if you don't install to the default location. Note that "UV4" is what's used for both MDK versions 4 and 5.
virtualenvin your global Python installation eg:
pip install virtualenv
Get the sources and create a virtual environment¶
$ git clone https://github.com/ARMmbed/DAPLink $ cd DAPLink $ pip install virtualenv $ virtualenv venv
Update tools and generate project files¶
This should be done every time you pull new changes.
$ ./venv/Scripts/activate $ pip install -r requirements.txt $ progen generate -t uvision $ ./venv/Scripts/deactivate
Compile your project¶
Change to the
projectfiles/uvision/<your-project> directory, and open your project using Keil MDK-ARM. Click the
build icon to build your project. That's it.
Create an Issue¶
Interested in contributing to this project? Want to report a bug? Feel free and click here: