Home > Tools > The story about the uniJTAG

The story about the uniJTAG


After a couple of weeks designing, and deciding how the layout should, we ordered a couple of PCBs to test.
This friday we recieved the PCBs and soldered the first prototype. The soldering went fine, except a minor mistake with the packaging of the ordered Atmel EEProm. After bending some of the EEProm leads, everything was soldered and we were ready to test.

When we connected the uniJTAG the first time, it enumerated, and 4 devices was identified – two serial ports, and two USB Serial Converters.
With the FT_Prog tool from FTDI we changed the settings stored in the EEProm to 1 JTAG device (245 FIFO+MPSSE) and 1 Serial device (232 UART).

Then we started researching on the software part – looking at datasheets, codes and other examples done with the FT2232 chip.
FTDI had a couple of DLL’s which could be used to talk to the FT2232. After a couple of hours we finally had a BitBanger application, made in Visual Basic .NET, using the D2XX.dll from FTDI!
This worked pretty well, so now for the JTAG part.

JTAG seemed a bit more difficult than BitBanging, even though FTDI had the FTCJTAG.dll for the JTAG protocol part. So after a search on Google, we ended up trying OpenOCD.
It was pretty difficult to get OpenOCD running, as we are running a 64-bit version of Windows. First thing to notice is that OpenOCD is open source, but is going to be build before it can be used. On a Windows machine this can be pretty tough, as you have to use Cygwin. Though we found an already build version of OpenOCD including the open source FTDI driver – both 32-bit and 64-bit.
The open source driver is used instead of the original FTDI driver, so we had to uninstall the FTDI driver in Device Manager, and then install the open source driver instead.

Many hours later we finally had OpenOCD working with our own interface configuration, matching the uniJTAG. We connected the JTAG port to one of our LPC boards and made quick chain scan.
Success, it found our LPC1766 device – now for programming. A couple of commands later the LED connected to our LPC board started blinking – programming succeeded.

We have tried scanning an FPGA JTAG chain with success, though we haven’t tried programming FPGA’s with the uniJTAG yet.
Now there is only one big thing left; to check if it’s possible to use the original driver and the FTCJTAG.dll and our own software.

Categories: Tools Tags:
  1. December 20th, 2010 at 11:04 | #1

    Looks great! Keep up the good work, guys!

  2. ben
    December 25th, 2010 at 08:05 | #2

    Awesome! I’ve got a coldfire based board that I’d love to program/debug!

    Just curious, there there’s at least one other universal (openocd) JTAG programmer in the works..

    http://dangerousprototypes.com/2010/03/25/bus-blaster-high-speed-usb-to-jtag-spi-uart/

    also FTDI chip based (probably 2/4232H or 2232D in order to utilize the mpsse jtag capability)… any reason why the projects are separate?

    Also, where did you get those mini-bins for the components?

  3. December 25th, 2010 at 15:02 | #3

    @ben
    Hi Ben.
    Hmm, I hadn’t noticed that they were making a Bus Blaster…
    Anyways, would you be interested in a uniJTAG for your Coldfire board? As stated in the top of the uniJTAG post, we are selling 9 of them pretty cheap currently!

    Best Regards
    Thomas Jespersen

  4. Chaz
    February 16th, 2012 at 17:30 | #4

    I’m curious, if still have any of the 9 left, and how much?

  5. February 18th, 2012 at 21:54 | #5

    @Chaz
    We are planning to sell the final revision board in our shop soon – hopefully the manufactoring details will be finished mid-march.
    If you like to buy one now you can get a single one at a reduced price of $40 excluding shipping and bank fees. Please write us an email or use the contact formular.

    Best Regards
    Thomas Jespersen

  6. Filippo
    September 5th, 2012 at 23:27 | #6

    Can i use this to program Actel Based Chips (ProASIC3 etc..)?

    Thank you!

  7. September 11th, 2012 at 14:38 | #7

    @Filippo
    Yes it can. As long as your FPGA development environment can export an SVF file for the binary transfer thru JTAG, you will be able to “play back” this file with our uniJTAG board.
    By playing back the generated SVF file the Actel FPGA or others will be programmed – so a short answer to your question is yes.

  8. dean
    July 6th, 2015 at 16:38 | #8

    i want to buy one please

  9. July 12th, 2015 at 16:20 | #9

    @dean
    This programmer is no longer being manufactured and all stock has been sold.
    Thank you for your interest in our products though.
    Regards Thomas

  1. No trackbacks yet.