November 21, 2016


I have been meaning to learn about JTAG for a long time. My first exposure was via the 4 wire SWD interface on some ARM devices and the ST-LINK V2 that connects to them. This worked amazingly well with OpenOCD and Gdb.

DIY and open source

I have used an RP2040 with firmware that supports the Xilinx protocol over JTAG with my EBAZ Zynq boards. This worked perfectly fine and is hard to beat for $3. This hints at the possibilities with either the RP2040 or the blue pill. DirtyJTAG uses a bluepill (or an RP2040) to make a JTAG adapter for pretty much no money.
Versaloon is more or less the same thing for the blue pill. It is recommended for use with OpenOCD.

Segger J-link

I bought a Segger J-Link (on Ebay for about $12 in 2016). It is almost certainly a knockoff, and I have yet to even try to use it.

These things cost $400 full price (if you intend to use it in a commercial way). The same unit for educational use sells for $70.

Segger calls the 10 pin cable the "9 pin Cortex M adapter" and sells the board and cable for $70. It is 9 pin because pin 7 in a no-connect.

Note that with ARM you may have a choice of using JTAG or the simpler SWD interface.

JTAG and the BBB

You need to solder this thing on the back of the board first (20 pin connector)

JTAG and the Intel Galileo

Although the Galileo is an x86 system, it seems to use the 10 pin (aka 2x5) connector and pinout the same as the ARM. This is nice.
Feedback? Questions? Drop me a line!

Tom's Computer Info /