Coder Social home page Coder Social logo

zhangc20 / elaphurelink Goto Github PK

View Code? Open in Web Editor NEW

This project forked from windowsair/elaphurelink

0.0 0.0 0.0 3.43 MB

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

License: Other

C++ 60.53% C 37.02% C# 1.98% Assembly 0.47%

elaphurelink's Introduction

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

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

elaphurelink's People

Contributors

windowsair avatar chenxuuu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.