Code Monkey home page Code Monkey logo

gdp's Introduction

GDP - The Generic Device Programmer

What is it?

GDP is aimed to be an eventual alternative programmer front-end similar to the ATPROGRAM tool from Atmel, but cross-platform, open-source and supporting third party tools. It aims to lower the barrier to entry to adding new device, tool protocol and transport support, with a consistent front-end interface.

What about AVRDUDE?

AVRDude, an alternative project similar to GDP and ATPROGRAM is already available and widely used. However, it is written in C which discourages some people from contributing, and uses its own internal device and tool configuration files. GDP aims at supporting multiple device back-ends, including the raw device XML files pulled from Atmel Studio.

Project Status

It's a new project, so don't expect functional anything right now. Fork, poke, pull-request if you're interested, otherwise just sit back and wait for a public beta release.

Support

The project support is listed below.

Device Definitions:

  • Atmel AVR Studio Device XML

Tools:

  • Atmel AVR109 Bootloader
  • Atmel AVR8 DFU Bootloader
  • Atmel STK500
  • Atmel STK600
  • Atmel AVRISP
  • Atmel AVRISP-MKII
  • Atmel JTAG-ICE MKII
  • Atmel Dragon

Protocols:

  • Atmel AVR109 Protocol
  • Atmel DFUV1 Protocol
  • Atmel STKV2 Protocol (ISP, HVSP, HVPP, PDI, TPI and XMEGA JTAG interfaces only)
  • Atmel JTAGV2 Protocol (Stub only, no implementation)

Transports:

  • Atmel Jungo USB Transport
  • Atmel AVR8 DFU Transport
  • Serial Transport

Input File Formats:

  • Intel HEX (HEX, EEP)
  • Binary (BIN)
  • Executable and Linkable Format (ELF)

Output File Formats:

  • Intel HEX (HEX, EEP)
  • Binary (BIN)

User Interfaces:

  • CLI (PROGRAM, READ, VERIFY, CHIPERASE, ERASE, LIST and RESET commands)

USB Drivers

As proprietary USB drivers are difficult to interface with (for both technical and legal reasons) all USB transports use LibUSB as the driver backend. This means that USB tools must have LibUSB drivers (or the LibUSB filter driver) installed instead of their regular Jungo or other proprietary driver for GDP to be able to communicate with them.

Prerequisites

The following is required to use GDP currently in its original Python form:

  • Python 2.7
  • PyUSB Library
  • PySerial Library
  • PyELFTools Library
  • IntelHex Library

If compiled with the PyInstaller toolkit, the above is not required as all dependencies are converted into a native platform executable.

In addition, the device files from Atmel Studio are required for the current device backend.

Contact

Source Code: http://github.com/abcminiuser/gdp

Author's Site: http://www.fourwalledcubicle.com

Author's Email: dean [at] fourwalledcubicle [dot] com

gdp's People

Contributors

abcminiuser avatar

Watchers

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