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.
- Controllers have non standard interfaces (often undocumented).
- Some Controllers have proprietary firmware (with redistribution issues).
- Target devices have non standard interfaces
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.
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 Name||Example Controllers||Requires Firmware||Documentation Status|
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.|