elaphureLink is a CMSIS-DAP compliant debugger solution for Arm® Keil® µVision® IDE that provides conversion between TCP/IP and DAP.
- Easy to use.
- Support for custom debug hardware implementation.
- Debug port support
- SWD
- JTAG
- Debug spec support
- ADIv5
This video shows how to install the driver, connect to the DAP device and perform the flash program.
quick_start.mp4
- Supported OS: Windows 7 or later.
- Supported Platforms: x86-64(AMD64).
- Additional requirements
- .Net Framework 4.7.2 (For elaphureLink.Wpf).
- µVision tested version
- v5.12.0.0
- v5.16a
- v5.25.2.0
- v5.31.0.0
- v5.37.0.0
- v5.40.0.0
Due to the large number of versions, only some versions of µVision were tested.
The required dependencies are already packaged in the elaphureLink.Wpf project to provide the end user with an out-of-the-box experience.
- Stable Version
Stable and pre-release versions are available in Releases.
- Develop Version
You can download the latest build in Github Action at build-binary.
- Update
You can check and update the latest stable version in the Info Page of elaphureLink.Wpf.
At present, only the distribution of portable versions is available for download. All you need to do is extract and run
elaphureLink.Wpf.exe
- wireless-esp8266-dap Single board wireless debugger based on ESP8266.
Do you want to add a new case? Start a new pull request or issue!
This section will introduce the relevant content in development.
Visual Studio 2019 or later version is recommended for building. Currently, you can only build the elaphure.Wpf
project, and other dependencies will be built automatically.
The following diagram shows the system architecture of elaphureLink.
elaphureLink consists of the following 5 main components:
-
AGDI
elaphureLinkAGDI is application generic debug interface of elaphureLink. It is the bridge between Arm Keil µVision and RDDI connection. It performs the interface to all basic debugger features, allows complex breakpoints, flash programming or access to system memory. Some of the debug settings and GUI in µVision are also provided by it. -
RDDI
elaphureLinkRDDI is remote device debug interface of elaphureLink that allow remote DAP device communicate with the debug interface. It converts the requests into standard CMSIS-DAP commands and communicates with the proxy. -
Proxy
elaphureLinkProxy play the role of communicating with the debug unit. It exports some API for connection management. Developers can use these API to build specific applications. -
Wpf
elaphureLink.Wpf is a simple GUI wrapper of elaphureLinkProxy. It provides a number of utilities for managing drivers and connection control. -
Server Providers
It may be the various devices containing the CMSIS-DAP implementation to provide debugging capabilities. For more examples, see Application case.
The most common development requirement is to build your own server provider. A server provider is often a DAP probe. Specific information can be found in the Server Providers Document.
During each connection, a specific protocol needs to be followed between elaphureLinkProxy and debug unit. For more information about the protocol, see proxy_protocol.
You may want to build your own application using elaphureLinkProxy, in this case please refer to the Proxy API, available at Proxy API.
@Mouri_Naruto He provided unique insights into Windows programming for this project.