Althougth I never used one, I know JTAG is a standardized way to program and debug MCUs. But I see a lot of JTAG from various companies. Can I use a particular JTAG to program/debug MCUs from different companies and with diferent architectures?

For example: can I use a JTAG to program/debug STM32 and LPC micros? (all Cortex-m3) Can I use the same JTAG to program/debug MSP430 micros? (16bit MCU from TI)

Which JTAG do you recommend to buy? And why?

  • \$\begingroup\$ I've got one from Olimex, and I'm definitely not satisfied. I had to write all the configuration files myself, because Olimex did not want to answer me at all - completely silent. It took a few months to get it working. Next time, I'll buy Amontec's JTAGKey-Tiny. Amontec has full support, they're responding kindly and their products work with a LOT of devices. \$\endgroup\$
    – user15948
    Commented Nov 8, 2012 at 2:03
  • \$\begingroup\$ I'm surprised. I have no connection with Olimex, other than as a satisfied user, and have had nothing but great support from them (on the few occasions I've needed it) \$\endgroup\$
    – Andrew
    Commented Nov 8, 2012 at 8:34

2 Answers 2


At its very basic level, JTAG is a standardized serial protocol. You can build one out of a handful of components for under $20, but it will be slow. Generally speaking the more expensive ones offer higher speed, broader voltage support and even autonomous operation. The software used to drive the particular JTAG interface determines whether you will be able to program the devices you are interested in.

Personally I am happy with the $70ish dollar Olimex JTAG units. They are USB, based on the FT2232, work with 5V and 3.3V devices and have good support for both Linux and Windows (I'm not sure about OSX). I also have an Atmel USB Blaster for programming Altera FPGAs (supports down to 1.0V IO) and an older USB based one for Xilinx devices. Finally, I also have a GNICE+ JTAG adapter used primarily for Analog Devices Blackfin processors.

I have not tried it, but I believe that the Altera USB Blaster should work for anything I connect to, although it does not support RTCK (return clock) support. It is primiarly ARM devices which support RTCK, which is a means for the JTAG interface to detect how fast the JTAG clock can go and still be reliable.

My suggestion is to take a look at the particular devices you wish to use and see if you can find a common JTAG unit that is well supported by all.

  • \$\begingroup\$ +1 for FT2232...I've used several dev boards that have that chip as their JTAG host, and my next PCB will have one on it. FTDI support in MacOSX is present but hard to configure; I got an EK-LM3S6965 dev board with FT2232 JTAG tester to work with OpenOCD a while ago. A generic version from Olimex would be worth $70 to me, I'll have to check that out. \$\endgroup\$ Commented Feb 1, 2011 at 3:43

In theory, you should be able to use any JTAG interface with any device. However, the software and drivers differ between manufacturers and software suppliers, so a given JTAG interface will only work with one set of tools, and type of device, as a rule.

Amontec makes a JTAG interface based on a CPLD that may be reprogrammed to emulate units made by several manufacturers.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.