MCPcopy Index your code
hub / github.com/ARMmbed/DAPLink

github.com/ARMmbed/DAPLink @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
6,734 symbols 12,760 edges 1,058 files 3,013 documented · 45%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

DAPLink

Linux Build (main) Linux Build (develop) Join us on Slack


Arm Mbed DAPLink is an open-source software project that enables programming and debugging application software 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. Enumerating as a USB composite device, it creates a bridge between your development computer and the CPU debug access port. DAPLink enables developers with:

  • MSC - drag-n-drop programming flash memory
  • CDC - virtual com port for log, trace and terminal emulation
  • CMSIS-DAPv2 WinUSB (driver-less vendor-specific bulk) - CMSIS compliant debug channel
  • CMSIS-DAPv1 HID - CMSIS compliant debug channel
  • WebUSB CMSIS-DAP HID - CMSIS 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!

For more detailed usability information see the users guide.

Compatibility

There are many ARM microcontroller-based Hardware Interface Circuits (HICs) that DAPLink interface firmware runs on. These can be found as standalone boards (debugger) or as part of a development kit. Some branded circuits that are known to be IO compatible are:

You can find more information on the microcontrollers supported here.

Releases

There are many board builds (board = HIC + target combination) created from this repository. Quarterly releases will contain new features and bugfixes. Standalone bugfixes are released once reported, verified and fixed. Both quarterly and bugfix releases will result in the build number being incremented. Many development kits and products ship with DAPLink interface firmware or are capable of running DAPLink firmware. The current release builds and instructions for updating DAPLink interface firmware is hosted on the DAPLink release site. Release notes and previous release builds can be found under GitHub releases.

Contribute

We welcome contributions to DAPLink in any area. Look for an interesting feature or defect under issues. Start a new thread in the discussions or in Slack to engage with the developers and maintainers.

Please see the contribution guidelines for detailed requirements for contributions.

To report bugs, please create an issue in the GitHub project.

Develop

Information for setting up a development environment, running the tests or creating a release build can be found in the developers guide.

License

DAPLink is licensed with the permissive Apache 2.0 license. See the LICENSE file for the full text of the license.

Copyright © 2006-2023 Arm Ltd

Core symbols most depended-on inside this repo

EDMA_HandleIRQ
called by 152
source/hic_hal/freescale/k26f/fsl_edma.c
EDMA_GetChannelStatusFlags
called by 120
source/hic_hal/freescale/k26f/fsl_edma.c
VENDOR_TO_FAMILY
called by 116
test/info.py
isr_evt_set
called by 109
source/rtos/rt_Event.c
IsIrqMode
called by 79
source/rtos2/RTX/Source/rtx_core_cm.h
IsIrqMasked
called by 79
source/rtos2/RTX/Source/rtx_core_cm.h
HAL_GetTick
called by 68
source/hic_hal/stm32/stm32f103xb/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c
write
called by 62
test/tests/usb_cdc.py

Shape

Function 6,029
Enum 263
Class 253
Method 189

Languages

C59%
C++36%
Python5%

Modules by API surface

source/hic_hal/nxp/lpc55xx/LPC55S69/drivers/fsl_usart_cmsis.c312 symbols
source/hic_hal/freescale/k26f/fsl_uart_cmsis.c224 symbols
source/hic_hal/nordic/nrf52820/cmsis/nrf52_erratas.h184 symbols
source/rtos2/RTX/Source/rtx_evr.c172 symbols
source/cmsis-core/cmsis_gcc.h138 symbols
source/hic_hal/freescale/k26f/fsl_edma.c121 symbols
source/cmsis-core/cmsis_armclang_ltm.h110 symbols
source/hic_hal/stm32/stm32f103xb/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c106 symbols
source/hic_hal/nordic/nrf52820/cmsis/nrf53_erratas.h93 symbols
source/hic_hal/nxp/lpc4322/RTE_Driver/USART_LPC43xx.c85 symbols
source/hic_hal/nordic/nrf52820/cmsis/nrf51_erratas.h78 symbols
source/rtos2/RTX/Source/rtx_thread.c66 symbols

For agents

$ claude mcp add DAPLink \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact