- updated configuration examples, installation instructions and README (including...
[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 * Olimex ARM-USB-OCD: www.olimex.com
47 The Olimex ARM-USB-OCD offers support for a wide vriety of target voltages from
48 2.0V to 5V. It also allows targets to be powered from the ARM-USB-OCD and
49 features and additional RS232 UART.
50
51 * eVerve Signalyzer: www.signalyzer.com
52 The Signalyzer offers support for a wide variety of target voltages from 1.2V to
53 5.5V. A second connector provides access to a TTL level UART.
54
55 All FT2232 based devices may be accessed using either FTDI's proprietary FTD2XX
56 library (www.ftdichip.com) or using an open-source replacement from
57 http://www.intra2net.com/de/produkte/opensource/ftdi/index.php, also included
58 with many Linux distributions.
59
60 2. Supported cores
61
62 This version of openocd supports the following cores:
63
64 - ARM7TDMI(-s)
65 - ARM9TDMI
66 - ARM920t
67 - ARM922t
68 - ARM966e
69
70 Support for Intel XScale CPUs (PXA25x, PXA27x and IXP4xx) is currently being
71 developed.
72
73 The OpenOCD is only tested with little-endian targets, but support for
74 big-endian is planned. If you're interested in helping with this (and you
75 happen to have a big-endian ARM7/ARM9 system, feel free to contact
76 Dominic.Rath <at> gmx.de.
77
78 3. Host platforms
79
80 OpenOCD was originally developed on x86-Linux, but has since then been ported
81 to run on Windows/Cygwin, native Windows with MinGW, FreeBSD, x86-64-Linux and
82 (though it's not fully working yet) PowerPC OS-X.
83
84 4. Documentation
85
86 Documentation for the OpenOCD is hosted in the Berlios OpenFacts Wiki at
87 http://openfacts.berlios.de/index-en.phtml?title=Open_On-Chip_Debugger.
88
89 5. Licensing
90
91 OpenOCD is licensed under the terms of the GNU General Public License, see the
92 file COPYING for details.
93