JTAG

The JTAG electrical interface is used to communicate with one or more Test Access Port (TAP) 
controllers on the chip. You can find an article on Wikipedia which describes JTAG, and another 
at http://www.xjtag.com/support-jtag/jtag-technical-guide.php which talks about TAPs.Every 
processor implements the TAP differently and the boundary scan chain is different on each chip. 
It may be challenging to obtain the details of how the TAP is designed and the layout of the 
scan chain. 

OpenOCD http://openocd.sourceforge.net/There are cheap USB to JTAG dongles you can use for your 
ARM cores: https://www.olimex.com/Products/ARM/JTAG/ For other cores, it might be difficult to 
find tools. 

"Setting up a generic JTAG interface is a full time job as it requires both hardware and software
knowledge. If this is your final year project, then this is very interesting one! But if you are
more of the user side and just need a JTAG tool to program a core then I would definitely suggest
you stick with whatever JTAG tool comes with the chips you buy."

If you wany to program a range of CPU cores inc AVR, HCS08 and Cortex, then have a look at  
http://www.versaloon.com It's cheap, but the software is "odd" by modern standards. It can be 
made to word with OpenOCD.  - If you are working with ARM/Cortex, buy a cheap dongle from Olimex
or some such, and use the OpenOCD. It works, but you have to be a masochist to enjoy it. This 
solution is fairly cheap and there's a user community that thinks OCD is wonderful.
- If you value your time, buy a Segger J-Link, which ranges from EU 60 or so for a student/hobby 
version through 290 for the standard USB version and more if you want to spend it. These units are really quick.

The ability to put Segger's J-Link firmware onto some manufacturers eval boards is also really 
nice.
.
JTAG block diagram
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Leave a comment