- added support for American Microsystem's M5960 (FT2232 based USB JTAG interface)
[openocd.git] / README
1                                     OpenOCD
2
3                          Free and Open On-Chip Debugging, In-System Programming 
4                                                    and Boundary-Scan Testing
5                                   Copyright (c) 2004, 2005, 2006 Dominic Rath
6
7 The debugger uses an IEEE 1149-1 compliant JTAG TAP bus master to access on-chip
8 debug functionality available on ARM7 and ARM9 based microcontrollers /
9 system-on-chip solutions.
10
11 User interaction is realized through a telnet command line interface and a gdb
12 (The GNU Debugger) remote protocol server.
13
14 1. JTAG hardware
15
16 Currently, OpenOCD supports three types of JTAG interfaces:
17
18 - Parallel port wigglers. These devices connect to a PC's parallel port,
19 providing direct access to the JTAG lines. The OpenOCD contains descriptions
20 of a few Wiggler layouts, including the original 'Wiggler' design. Other
21 layouts (i.e. mapping of parallel port pins to JTAG lines) can be added easily.
22 Typical Wiggler speeds are around 12kByte/s code download to an ARM7's RAM.
23
24 - The Amontec JTAG Accelerator. This is a configuration for Amontec's Chameleon
25 dongle, a parallel port interface based on a Xilinx CoolRunner CPLD. It uses
26 the IEEE1284 EPP parallel port specification, providing many times the
27 performance achievable with wiggler-style devices. Additional information is
28 available on www.amontec.com.
29 Typical JTAG Accelerator speeds are around 120-160kByte/s to an ARM7's RAM.
30
31 - FTDI FT2232 based USB devices. The FT2232 (but not FT232 or FT245) features a
32 multi-protocol synchronous serial engine (MPSSE) that can be used to run the
33 serial JTAG protocol. There are several implemenations of FT2232 based devices:
34
35 * USBJTAG: http://www.fh-augsburg.de/~hhoegl/proj/usbjtag/usbjtag.html
36 The USBJTAG was designed by Prof. Hubert Hoegl to provide a high-speed USB
37 interface for use with the OpenOCD. Schematics are available at the USBJTAG
38 website, and a homebrew device can easily be built using the FTDI evaluation
39 module DLP2232M.
40
41 * Amontec JTAGkey: www.amontec.com
42 The Amontec JTAGkey offers support for a wide variety of target voltages from
43 1.4V to 5V. It also allows the JTAG lines and reset signals to be tri-stated,
44 allowing easy interfacing with a wide variety of targets.
45
46 * Amontec JTAGkey-Tiny: www.amontec.com
47 The Amontec JTAGkey offers support for a wide variety of target voltages from
48 2.8V to 5V. It also allows the reset signals to be tri-stated, allowing easy
49 interfacing with a wide variety of targets.
50
51 * Olimex ARM-USB-OCD: www.olimex.com
52 The Olimex ARM-USB-OCD offers support for a wide vriety of target voltages from
53 2.0V to 5V. It also allows targets to be powered from the ARM-USB-OCD and
54 features and additional RS232 UART.
55
56 * eVerve Signalyzer: www.signalyzer.com
57 The Signalyzer offers support for a wide variety of target voltages from 1.2V to
58 5.5V. A second connector provides access to a TTL level UART.
59
60 All FT2232 based devices may be accessed using either FTDI's proprietary FTD2XX
61 library (www.ftdichip.com) or using an open-source replacement from
62 http://www.intra2net.com/de/produkte/opensource/ftdi/index.php, also included
63 with many Linux distributions.
64
65 2. Supported cores
66
67 This version of openocd supports the following cores:
68
69 - ARM7TDMI(-s)
70 - ARM9TDMI
71 - ARM920t
72 - ARM922t
73 - ARM966e
74
75 Support for Intel XScale CPUs (PXA25x, PXA27x and IXP4xx) is currently being
76 developed.
77
78 The OpenOCD is only tested with little-endian targets, but support for
79 big-endian is planned. If you're interested in helping with this (and you
80 happen to have a big-endian ARM7/ARM9 system, feel free to contact
81 Dominic.Rath <at> gmx.de.
82
83 3. Host platforms
84
85 OpenOCD was originally developed on x86-Linux, but has since then been ported
86 to run on Windows/Cygwin, native Windows with MinGW, FreeBSD, x86-64-Linux and
87 (though it's not fully working yet) PowerPC OS-X.
88
89 4. Documentation
90
91 Documentation for the OpenOCD is hosted in the Berlios OpenFacts Wiki at
92 http://openfacts.berlios.de/index-en.phtml?title=Open_On-Chip_Debugger.
93
94 5. Licensing
95
96 OpenOCD is licensed under the terms of the GNU General Public License, see the
97 file COPYING for details.
98