# Particular JTAG to program/debug MCUs from different companies or architectures

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?

• 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. – user15948 Nov 8 '12 at 2:03
• 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) – Andrew Nov 8 '12 at 8:34

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.