The 6 Best JTAG Emulators
This wiki has been updated 16 times since it was first published in January of 2019. If you're looking to debug a microprocessor then you may need a JTAG emulator. These devices are designed to provide an interface between your chip and a platform, like a computer, where you can make changes and edit or add code blocks. Aside from sharing the JTAG specification, they can be quite different and most are only compatible with certain microprocessors, so due diligence is required. When users buy our independently chosen editorial recommendations, we may earn commissions to help fund the Wiki.
July 08, 2021:
We removed a model from Spectrum digital that's no longer available but otherwise did not alter our recommendations significantly. We did upgrade our previous Microchip selection, the Microchip Atmel-ICE, to a kit that comes complete with cable, riser, wire harness, and connector chip. The top choice for professional use remains the Segger J-Link Pro, while the Segger J-Link EDU is still perfect for educational debugging.
June 30, 2019:
There are many misunderstandings about what JTAG is and authoritative sources of information regarding the subject are hard to find. For clarification, the JTAG specification lies in the presence of 5 essential pins (or signals) on the connection port of an embedded system/microcontroller (also known as the target system) that allows the microprocessor to be debugged/re-programmed. These 5 essential pins include TCK, TMS, TDI, TDO and TRST. JTAG debuggers thus connect the target system to a computer or similar device where code editing can occur via a program.
The use of the word ‘emulation’ is an accurate descriptor to ICE (in-circuit emulation) debugging technology which was developed prior to JTAG. Regarding the JTAG specification however, the word is a misnomer since no device is emulating the other; the JTAG debugger is simply facilitating the connection between the target system and a PC.
While the JTAG specification requires 5 essential pins, there is no protocol defining the location or placement of these pins within a larger connection interface. For instance, two common configurations on TI (Texas Instruments) boards include the 14-Pin TI, 20-Pin CTI, both of which include JTAG pins. Adaptors for different pin configurations usually come with debuggers and they can also be very cheaply purchased.
JTAG ‘emulators’ connect to the target system (input) as well as to an output (usually a computer). A variety of IDE’s (Integrated Development Environments) exist, which are software applications used to interact with the target system (i.e. to edit code, debug, program the chip, etc.). Manufacturers of JTAG emulators usually have their own IDE’s – for instance, J-Link emulators from Segger use IAR workbench and XDS emulators from TI use CCS (Code Composer Studio).
I generally don’t recommend cheap JTAG emulators (unless your intentions are very limited), the reason being that low-quality models are orders of magnitude slower than slightly more expensive ones.
TI makes a series of XDS emulators (XD100, XD200, XD510 and XD560) that are designed for their TMS320 family of DSP’s (Digital Signal Processors). XDS models are made by either TI, Spectrum or Blackhawk. In general, the higher the model number of the XDS debugger, the more powerful.
An XDS200 can process simple code edits around 10 times faster than an XDS100 v.1 – this difference only slightly diminishes with later versions of the XDS100, such as v.2. Please note that the XDS510 may not have as broad of a range as other XDS debuggers and TI has stopped selling them directly; however, they still remain a powerful option for heavy code edits on many TMS320 DSP’s, including OMAP processors - and for that reason, I’ve highlighted this model.
If your coding needs are generally simpler, I’ve highlighted the Blackhawk USB200. Blackhawk only manufactures the XDS100, 510 and 560 and not the XDS200 (made by Spectrum Digital). However, the USB200 is XDS200-compatible (meaning that it is directly modelled from the XDS200).
Segger makes a series of J-Link debuggers – a few of which I’ve highlighted. J-Link devices are compatible on many TMS320 DSP’s including ARM Cortex and ARM Legacy processors. They’re also compatible with Renesas RX and Microchip PIC32 MCU’s. The J-Link EDU is pretty much the same as the BASE model with a few minor differences. The EDU has (as the label ‘EDU’ for Education suggests) been developed with a few educational features in mind. For that reason, there are a few legal limitations on the use of the EDU model and the device is only allowed personal/educational use (and not in for-profit company applications).
It’s worth reading the limitations on an EDU before using one - but other than that, it’s a great and practical JTAG emulator that has many similar features to the J-Link PRO, but at a more affordable price. The J-Link PRO is a more feature-rich, supercharged version of the EDU in every sense and is naturally more expensive.
For AVR chips, Atmel makes a series of JTAG emulators. I’ve highlighted the Microchip-Atmel ICE as a sensible option here. This model can also work well with select ARM Cortex processors.