windowsair / elaphureLink

elaphureLink is a CMSIS-DAP compliant debugger solution for Arm® Keil® µVision® IDE that provides conversion between TCP/IP and DAP.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

elaphureLink

Build status license

elaphureLink is a CMSIS-DAP compliant debugger solution for Arm® Keil® µVision® IDE that provides conversion between TCP/IP and DAP.

Features

  • Easy to use.
  • Support for custom debug hardware implementation.
  • Debug port support
    • SWD
    • JTAG
  • Debug spec support
    • ADIv5

Quick Start

This video shows how to install the driver, connect to the DAP device and perform the flash program.

quick_start.mp4

System Requirements

  • Supported OS: Windows 7 or later.
  • Supported Platforms: x86-64(AMD64).
  • Additional requirements
  • µ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.

Download and Installation

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

Application case

Do you want to add a new case? Start a new pull request or issue!


Develop

This section will introduce the relevant content in development.

Build

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.

Architecture

The following diagram shows the system architecture of elaphureLink.

Architecture

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.

Server Providers Document

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.

Proxy 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.

Credit

@Mouri_Naruto He provided unique insights into Windows programming for this project.

License

elaphureLink License

About

elaphureLink is a CMSIS-DAP compliant debugger solution for Arm® Keil® µVision® IDE that provides conversion between TCP/IP and DAP.

License:Other


Languages

Language:C++ 60.5%Language:C 37.0%Language:C# 2.0%Language:Assembly 0.5%