So I recently purchased a (some) FT4232H Mini Module(s) from the FTDI folks (via Mouser). Not sure how long they have been around in this form, but it is new to me...The FT2232H should work just as well but they were sold out at the time. I added more ramblings to my armjtag README
https://github.com/dwelch67/raspberrypi ... r/armjtag
On this topic. Basically the FT2232 is extremely popular on microcontroller boards, fpga/cpld boards, and so on. It has two smart modules if you will per board that can each be uart, jtag, spi. For microcontroller board you often find one as jtag and the other as uart. The FT4232 differs from the 2232 in that there are still only two smart modules, but four total uarts, so you can have jtag and three uarts or jtag, spi and two uarts, etc. I used one as jtag and the next as uart so that it resembles the FT2232 capabilities.
Once you try it you will find that jtag is very nice for bare metal development, the H parts FT2232H and FT4232H are 30Mbps which puts them up with the multi thousand dollar jtag boxes as far as speed (those boxes have other features of course). I have not pushed the raspberry pi to see how fast its jtag can go...
So one $30 board (plus shipping, plus some jumper wires) gets you jtag and uart. I have been looking for a sub $50 jtag solution to share, the uart is just an added bonus.
The negative side to this Broadcom part used on the Raspberry PI or at least the way it is presented to us, is the ARM jtag debut tap is not exposed by default. You have to change some registers in the part to expose the jtag pins. The nice Raspberry Pi folks did move one pin over to P1 that was on another harder to use connector for the rev 2 board, thank you very much! Much easier for those who dont want to solder to do this stuff. My armjtag example is a small example that changes the registers to make the ARM jtag pins visible to the P1 connector.
No, I do not work for FTDI...I dont work for ARM, I dont work for Broadcom.
David
No...I didnt finish playing with the XMOS board, been too lazy. Want to play with spi on the raspberry pi, then implement something on the xmos to connect to that and go from there.