Hacker News new | ask | show | jobs
by calamari4065 886 days ago
I grabbed a bus pirate about a year ago thinking "oh, of course it will support JTAG"

This involved flashing a third party firmware. From a project which refuses to release binaries. I had to install something like 5GB of toolchains to build it, and then THEN! I had to manually edit the resulting .hex file. At some point the binary is converted to an ASCII representation of the hex pairs, but all letters converted to uppercase. Then it's parsed back into binary with the wrong values. I had to manually search and replace uppercase letters with lowercase.

I've seen a lot of dumb software nonsense in my time, but this one really takes the cake.

It also never actually worked. Hopefully the firmware on this revision is less terrible

2 comments

JTAG is hard to do. RP PIO (USB FS), TI PRU (bad toolchains), or NXP FlexIO are really required to do it correctly (or you can do it "okay" with a capable SPI controller.)
FT2232H with libMPSSE. It is even advertised as a USB-to-JTAG chip.
Terrible drivers, pinouts, etc. for the ridiculous price of $6-10.
Could you explain why? A JTAG master seems easily bit-bangable unless you require high data rates?
Indeed my understanding is that it should not require crazy hardware requirements - it's a serial protocol clocked by the programmer.

Here's an Arduino project to program CPLDS/FPGAs using XSVF files https://github.com/wschutzer/xsvfduino

I'd say that the cheap programming cables are abundant and already compatible with the vendor tools so there's not much motivation to reinvent the wheel.

TMS is hard to manage. High data rates are exactly the issue.

Any MCU can bitbang JTAG at 100kHz. Try doing it at 30 MHz sustained.

Whatever happened to the Jtagulator? It no longer seems to be available.
This was, broadly, my experience too. So much potential, never really worked.