You are currently browsing the tag archive for the ‘JTAG’ tag.

Michal Demin posted a tutorial for the OpenOCD JTAG debugging support he added to the Bus Pirate.

Some time ago, I have added support to OpenOCD to be able to use Buspirate as JTAG interface. This how-to will show you, how to setup all the things necessary.

Things you will need:
– Buspirate
– Computer with OpenOCD installed
– target with JTAG
– luck 🙂

Read the rest.


A Bus Pirate v2go/v3 port of the OpenOCD JTAG debugger source code from USBPROG is complete. You can download the source and latest compile from the OpenOCD folder in the project SVN.

Firmware is only half of the equation though, OpenOCD doesn’t yet support the USBPROG protocol over a (virtual) serial port like the Bus Pirate uses. There are about 8 instances of USB read and writes in the USBPROG OpenOCD patch than need to be changed to use a serial port, plus some serial port initialization functions. Any help and feedback is always appreciated, feel free to use the Bus Pirate OpenOCD support forum.

Read the rest of this entry »

OpenOCD is a popular open source JTAG utility. Zach Welch, a regular contributor to the project, has offered to help add Bus Pirate support.You can follow the progress in his git repository.

The current plan is to port the excellent work done by the USBPROG project to the Bus Pirate. Here are some tentative goals:

  • Port the AVR/USB-based microcontroller code from USBPROG to the Bus Pirate. Modify the code to work through the PIC serial port.
  • Add a Bus Pirate device to OpenOCD based on the existing USBPROG source code. Modify the code to write and read through a serial port.
  • Add message header, checksum to the existing USBPROG protocol.

JTAG debugging support via OpenOCD is an exciting new feature. We hope to have a firmware for developers and testers in the next few days. Any help and feedback is always appreciated, feel free to use the Bus Pirate OpenOCD support forum.

USBprog is an open source multi-chip programmer. It currently programs AVRs with an ISP mkII clone, does JTAG debugging with OpenOCD, and some other stuff.

We’re going to take a close look at the source and protocol used with OpenOCD to see if it can be implemented in the Bus Pirate.

Thanks for the tip (and photo) Uwe!


We’re offering a bounty on the most-requested Bus Pirate features. The developer of each feature can have their choice of a Bus Pirate probe cable kit or our next monthly project.

Today we’re highlighting JTAG. It would be ideal to have Bus Pirate support in the popular open source JTAG programmer OpenOCD, but other solutions are also fine. It should be possible to adapt an existing parallel port or FTDI232 JTAG wiggler mode to flip bits in a byte and send it to the Bus Pirate bitbang binary mode. We could also develop a separate binary JTAG library if requested.

A JTAG programmer that supports the Bus Pirate is currently the most-requested feature addition. Early firmwares had a terminal-based XSFV programmer from Xilinx, but it required specially compiled XSFV programming files and funky flow control.

Firmware v2.x removed the XSFV programmer, but added a new binary access mode that can be used with PC-based JTAG programmers. This is a much better solution because it lets the PC do any heavy lifting, the Bus Pirate simply twiddles pins.

Thanks to bluesign2k for the unboxing picture.


Here’s a comprehensive list of Bus Pirate chip demonstrations. It includes Ian’s old demonstrations from Hack a Day, and the most recent demos from Dangerous Prototypes. Tutorials are arranged by Bus Pirate hardware version.

Bus Pirate v2&v3

Bus Pirate v1a

Bus Pirate v0a