Openocd
Openocd is a free JTAG debugger for ARM cores written by
Dominic Rath (dominic dot rath at gmx dot de). Please go to http://openocd.berlios.de to read
more about the project.
Quick Reference
Here is a OpenOCD Quick Reference for revision 640 (May 5 2008):
oocd-quickref.pdf. Beware, this is
a rather old version of OpenOCD. Currently I try to write an up-to-date
version (Feb 2010) which should appear here soon.
There is an even older Quick Reference for revision 211, (Nov 14 2007):
oocd-quickref-211.pdf (4 pages) and
oocd-quickref-compact-211.pdf (2
pages).
Also the GDB Quick Reference (Version 5)
might be of interest because OpenOCD needs the GNU Debugger as front-end.
JTAG Interfaces
[this is rather outdated stuff]
OpenOCD can talk to nearly any hardware which is able to drive the
JTAG signals. Currently the sourcecode supports the following interfaces:
Parallel Port Interfaces
- Wiggler
The Wiggler is a cheap parallel port JTAG interface originally developed by
Macraigor. On a write or read access to/from the parallel port a single bit is
sent to TCK, TMS, TDI and a bit is read from TDO. Write/read accesses at the
parallel port (in legacy mode) can be at a maximum rate of 200.000 to 400.000
per second. This is the reason why the Wiggler is a rather slow JTAG interface.
Meanwhile the schematic is free. Be aware that different versions of the
schematic exist. Following is the schematic from Dominic Rath's OpenOCD thesis:
Here is another schematic found at the homepage of the H-JTAG project: WIGGLER.pdf (added on 2006-12-13)
- JTAG Accelerator
The JTAG Accelerator is a more clever implementation of a JTAG interface using
shift registers. It does also support the RTCK feature for adaptive clocking
("return clock"). The programming interface to the Accelerator is open and well
described. The Accelerator is implemented in the "Chameleon" parallel port
adaptor by Amontec (www.amontec.com).
The Chameleon dongle contains a reconfigurable CPLD. The idea behind this
dongle is to buy one adaptor and to change its identity by reconfiguring the
CPLD. Amontec's homepage offers many different configurations from CPLD/FPGA
download cables to BDM and JTAG interfaces. Besides the Accelerator configuration there is also a free configuration for the Wiggler.
USB
- The USB to JTAG interfaces based on the FT2232 chip are described on this
page: http://www.fh-augsburg.de/~hhoegl/proj/usbjtag/usbjtag.html
- USBprog - since 2007 there is another USB-to-JTAG interface
which does not use an FT2232. Instead, it is based on a National Semiconductor USB bridge
USBN9604 and an Atmel AVR Mega32 microcontroller. Beside its use as a
JTAG adaptor for OpenOCD it can also be used for other purposes by
reprogramming the AVR flash memory from a pool of ready to use
firmwares. For example the device can also act as a AVRISP mkII or as
an AVR JTAG debugger (JTAGICE mkI) or as a programmer for 8051
controllers. USBprog is a project of Benedikt Sauter, one of my
diploma students. It was presented at Embedded World 2007 trade fair
in Nuremberg (here are some fotos).
Please go to
http://www.embedded-projects.net to read more about this nice adaptor.
A foto of USBprog, revision 3.
Photographs
- I shot these photographs at Dominic Rath's diploma thesis talk in
autumn 2005.
Dominic starting to talk about his
thesis.
|
Cogent CSB337 (with Atmel AT91RM9200) controlled
by Openocd and a USB-to-JTAG interface.
|
A board based on an ARM720T connected to the
Chameleon POD "Wiggler".
|
Dominic Rath mit Arkadius Nowakowski
|
- Embedded World 2006 (14-16 Feb), Nürnberg
Find all photographs here:
http://www.fh-augsburg.de/~hhoegl/tmp/eworld/embedded-world-2006/fotos/
Author: Hubert.Hoegl@fh-augsburg.de
Last modified: Thu Nov 15 00:16:40 2007