- added manpage for OpenOCD (thanks to Uwe Hermann)
[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-2007 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 * OOCD-Link: http://www.joernonline.de/dw/doku.php?id=en:projects:oocdlink
42 Similar to the USBJTAG, this design comes with free schematics, too.
43
44 * Amontec JTAGkey: www.amontec.com
45 The Amontec JTAGkey offers support for a wide variety of target voltages from
46 1.4V to 5V. It also allows the JTAG lines and reset signals to be tri-stated,
47 allowing easy interfacing with a wide variety of targets.
48
49 * Amontec JTAGkey-Tiny: www.amontec.com
50 The Amontec JTAGkey offers support for a wide variety of target voltages from
51 2.8V to 5V. It also allows the reset signals to be tri-stated, allowing easy
52 interfacing with a wide variety of targets.
53
54 * Olimex ARM-USB-OCD: www.olimex.com
55 The Olimex ARM-USB-OCD offers support for a wide vriety of target voltages from
56 2.0V to 5V. It also allows targets to be powered from the ARM-USB-OCD and
57 features and additional RS232 UART.
58
59 * eVerve Signalyzer: www.signalyzer.com
60 The Signalyzer offers support for a wide variety of target voltages from 1.2V to
61 5.5V. A second connector provides access to a TTL level UART.
62
63 All FT2232 based devices may be accessed using either FTDI's proprietary FTD2XX
64 library (www.ftdichip.com) or using an open-source replacement from
65 http://www.intra2net.com/de/produkte/opensource/ftdi/index.php, also included
66 with many Linux distributions.
67
68 2. Supported cores
69
70 This version of openocd supports the following ARM7/9 cores:
71
72 - ARM7TDMI(-s)
73 - ARM9TDMI
74 - ARM920t
75 - ARM922t
76 - ARM926ej-s
77 - ARM966e
78
79 Support for Intel XScale CPUs is also included:
80
81 - PXA25x
82 - IXP42x
83
84 PXA27x debugging should be similar to the PXA25x but fails in the current
85 version of OpenOCD.
86  
87 3. Host platforms
88
89 OpenOCD was originally developed on x86-Linux, but has since then been ported
90 to run on Windows/Cygwin, native Windows with MinGW, FreeBSD, x86-64-Linux and
91 PowerPC OS-X.
92
93 4. Documentation
94
95 Documentation for the OpenOCD is hosted in the Berlios OpenFacts Wiki at
96 http://openfacts.berlios.de/index-en.phtml?title=Open_On-Chip_Debugger.
97
98 5. Licensing
99
100 OpenOCD is licensed under the terms of the GNU General Public License, see the
101 file COPYING for details.
102