Using an FTDI Mini Module as a JTAG Controller
We review what is needed to use an FTDI FT2232H Mini Module as a JTAG controller when using UrJTAG.
published: Oct 25 2011
Topic: Using FTDI Mini Module as a JTAG controller
Keywords: JTAG, Linux, UrJTAG, Blackfin, FTDI
The figure below shows the mini module in action connected to an ADI Blackfin BF537-Stamp development board.
We took the quick & dirty route by modifying a UrJTAG source file so the tools would operate as if the module was a gnICE JTAG controller. We modified "/urjtag/src/tap/cable/ft2232.c" and replaced the following line:
URJ_DECLARE_FTDX_CABLE(0x0456, 0xF000, "-mpsse", "gnICE", gnice)
URJ_DECLARE_FTDX_CABLE(0x0403, 0x6010, "-mpsse", "gnICE", gnice)
This maps the gnICE board to vendor ID 0x403, which is FTDI, and product ID to 0x6010, which is the mini module.
Rather than hacking at the UrJTAG code, we could have changed the VID and PID (vendor and product ID) on the mini module to emulate the gnICE board or created a new UrJTAG profile for the mini module. For us, the last option is probably the best & what we'll eventually do since we're in the process of creating a simple, open source opto-isolator base board for the mini module. We'll post an update when that board is finalized.
The table below provides the wiring connections between the mini module and any Blackfin development board that follows the standard ADI conventions for JTAG pin numbering.
| Bfin JTAG |
| Bfin JTAG
In addition to the above connections, pin 1 on CN2 should be tied to pin 11, which ties VIO to 3.3V. Also, a jumper should be placed between CN3-1 and CN3-3 to tie VCC with VBUS. These connections are recommended in the mini module datasheet for powering the mini module from the USB bus.