4 ms·
About @diamondman's Adapt Framework (github.com/diamondman/adapt) Adapt is an open, modular framework which offers a streamlined approach for JTAG controllers
by mekarpeles 11y ago
About @diamondman's Adapt Framework (github.com/diamondman/adapt)
Adapt is an open, modular framework which offers a streamlined approach for JTAG controllers to speak to target devices (currently CPLDs and soon fpgas).
Adapt is built to be extensible and currently includes open/reversed drivers for the following Controllers and target devices:
- Digilent & Xilinx PC1 (JTag Controllers) & XC2C-256 (CPLD)*
*Note: Map files are required for CPLDs to avoid legal recourse
FEATURE ROADMAP:
1. Support for Controllers:
Currently Adapt only supports JTag but @diamondman intends to support dbw & spi. Patches for other serial protocols are welcome.
2. Support for Target Devices:
The next milestone is to support Spartan3 & Spartan6 fpgas
3. Extending Adapt / Contributing Drivers:
Adapt can be extended to additional controllers and target devices -- @diamondman will write a tutorial on how this is done + what the limitations are, if there is enough interest.
Please express interest in driver support by replying to this comment thread.
- voltagex_ 11y agoSo why aren't these targets for OpenOCD instead of a new system?
- mekarpeles 11y ago@diamondman responded to this in another thread: http://www.reddit.com/r/programming/comments/338t25/the_lack_of_open_toling_for_fpgas/cqiz0gh http://www.reddit.com/r/programming/comments/338t25/the_lack... "I actually want to hook OpenOCD into my Daemon to bring some sanity to how it manages devices. Several of my IRC friends prefer using closed source tools to open OCD calling open Obsessive Compulsive Disorder, frustrated the license is so strict (mine will be LGPL), and annoyed that everything has to be exhaustively specified in TCL files for it to do ANYTHING." The TL;DR is OpenOCD's driver model itself is fixed/limited/standardized to a degree which prevented him from, in many cases, optimizing underlying controllers (or getting them to work at all -- e.g. OpenJTag, I believe). Also, see licensing disagreements above + unreasonable configuration requirements outlined in @diamondman's answer above.