JTAG

Joint Test Action Group, referring to IEEE Standard 1149.1: Four-pin (plus power/ground) interface designed to test connections between chips. Interface is serial (clocked via the TCK pin). Configuration is performed by manipulating a state machine one bit at a time (via TMS pin), then transferring one bit of data in and out per TCK clock (via TDI and TDO pins, respectively). Different instruction modes can be loaded to read the chip ID, sample input pins, drive (or float) output pins, manipulate chip functions, or bypass (pipe TDI to TDO to logically shorten chains of multiple chips). Operating frequency varies per chip, but is typically 10-100MHz TCK (10-100ns per bit time). The description of how JTAG is implemented for a specific device is described in a file specific to that device called a BSDL file.

Information

 * http://en.wikipedia.org/wiki/JTAG
 * http://www.asset-intertech.com/products/free_resources.htm - various resources
 * [[media:JTAGpinouts.pdf|Common JTAG Pinouts]]
 * Macraigor JSCAN
 * Overview of On Chip Debug Methods
 * gojtag - needs to be ported to Linux

Tutorial
[[Media:boundryscan_tutorial.pdf|Tutorial from Asset Intertech]]

Embedded Linux JTAG debugging (CELF presentation)

Hardware (emulators)

 * Holly Gates wiggler - Parallel Port
 * Cheap Tag 5v only parallel port
 * Flyswatter- USB
 * ARM DS-5 - DS-5 and DSTREAM provide embedded Linux developers with a full professional development suite
 * gnICE - USB w/full schematics
 * ICEbear JTAG - USB
 * JTAG Blue - Parallel Port
 * http://wiki.openwrt.org/JTAG_Cables
 * http://hri.sourceforge.net/tools/ - Macraigor compatible wiggler
 * http://www.sparkfun.com/shop/index.php?shop=1&cart=201362&cat=74&
 * http://www.ocdemon.net/hwproducts.htm - $150-$1800 par,usb,serial,ethernet
 * http://www.dlpdesign.com/usb/2232m.shtml - USB module
 * http://www.corelis.com/products/index.htm - Emulators, Testing and Programming
 * http://www.amontec.com/jtagkey.shtml - USB
 * http://www.sparkfun.com/commerce/product_info.php?products_id=7834 - USB
 * http://www.ronetix.at/peedi.html - JTAG/BDM Emulator and Flash Programmer
 * http://www.mentor.com/products/embedded_software/majic-jtag-probe/ - JTAG Emulator, Flash Programmer, Hardware Bring-up
 * Embest UNetICE - USB and Ethernet based JTAG Emualtor for ARM7 and ARM9 processors
 * XDS100v2 - USB JTAG emulator for TI processor available from Embest
 * Dangerous Prototypes Bus Blaster (~35$ open hardware)

Tools

 * JTAG_Finder
 * UsingJtagTools
 * http://openwince.sourceforge.net/jtag/
 * http://fjtag.sourceforge.net/
 * http://jtagtools.sourceforge.net/
 * http://www.lart.tudelft.nl/projects/jtag/jflash-linux.tar.gz
 * http://lapwww.epfl.ch/dev/arm/jelie/index.php
 * http://cvs.arm.linux.org.uk/cgi/viewcvs.cgi/jtag/
 * http://jtager.sourceforge.net/
 * http://openocd.berlios.de/web/
 * http://urjtag.org/
 * http://opencollector.org database contains a list of opensource JTAG SW tools