View on GitHub


Linux USB JTAG controller for Digilent boards.

Download this project as a .zip file Download this project as a tar.gz file


Adapt is a Driver Framework for using In System Configuration controllers (devices that speak JTAG/SPI/i2c/etc on your behalf).

There are currently several issues preventing generic access to devices via JTAG/SPI/i2c/etc; these issues lie with the devices we wish to interface with, and the controllers that allow us to speak the appropriate electrical protocol to communicate with the target device in the first place.

Adapt aims to solve the first two issues, providing a library and interactive terminal for using these controllers. Code to flash/erase/test chips will be left to the users of this library.

Project Status

The current goal is to make this library useful to people for everyday debugging/reverse engineering/etc. Stability, packaging, API design, and the like are under review. Removing the assumption that all controllers are USB is also a goal.

Protocol documentation for controllers.

Protocol Name Example Controllers Requires Firmware Documentation Status
Digilent Adept Basys2,
CoolRunner 2 (Cr2s2),
Sometimes. Complete except optional temp/voltage reading.
Xilinx Platform Cable 1 XPCU DLC9G Yes In Progress
Altera USB Blaster Altera USB Blaster No Not Started
OpenJTAG OpenJTAG Controller No Protocol open, no need to document.