- renamed M5960 USB JTAG to "flyswatter"
[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 the following 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 list of supported parallel port devices includes:
25
26   * Macraigor Wiggler JTAG cable
27   * Gateworks GW16012 JTAG programmer
28   * Xilinx DLC5 JTAG parallel cable III
29   * Ka-Ro TRITON starterkit II JTAG cable
30   * Lattice parallel port JTAG cable
31   * ST FlashLINK programming cable
32
33 - The Amontec JTAG Accelerator. This is a configuration for Amontec's Chameleon
34 dongle, a parallel port interface based on a Xilinx CoolRunner CPLD. It uses
35 the IEEE1284 EPP parallel port specification, providing many times the
36 performance achievable with wiggler-style devices. Additional information is
37 available on www.amontec.com.
38 Typical JTAG Accelerator speeds are around 120-160kByte/s to an ARM7's RAM.
39
40 - FTDI FT2232 based USB devices. The FT2232 (but not FT232 or FT245) features a
41 multi-protocol synchronous serial engine (MPSSE) that can be used to run the
42 serial JTAG protocol. There are several implemenations of FT2232 based devices:
43
44 * USBJTAG: http://www.fh-augsburg.de/~hhoegl/proj/usbjtag/usbjtag.html
45 The USBJTAG was designed by Prof. Hubert Hoegl to provide a high-speed USB
46 interface for use with the OpenOCD. Schematics are available at the USBJTAG
47 website, and a homebrew device can easily be built using the FTDI evaluation
48 module DLP2232M.
49
50 * OOCD-Link: http://www.joernonline.de/dw/doku.php?id=en:projects:oocdlink
51 Similar to the USBJTAG, this design comes with free schematics, too.
52
53 * Amontec JTAGkey: www.amontec.com
54 The Amontec JTAGkey offers support for a wide variety of target voltages from
55 1.4V to 5V. It also allows the JTAG lines and reset signals to be tri-stated,
56 allowing easy interfacing with a wide variety of targets.
57
58 * Amontec JTAGkey-Tiny: www.amontec.com
59 The Amontec JTAGkey offers support for a wide variety of target voltages from
60 2.8V to 5V. It also allows the reset signals to be tri-stated, allowing easy
61 interfacing with a wide variety of targets.
62
63 * Olimex ARM-USB-OCD: www.olimex.com
64 The Olimex ARM-USB-OCD offers support for a wide vriety of target voltages from
65 2.0V to 5V. It also allows targets to be powered from the ARM-USB-OCD and
66 features and additional RS232 UART.
67
68 * eVerve Signalyzer: www.signalyzer.com
69 The Signalyzer offers support for a wide variety of target voltages from 1.2V to
70 5.5V. A second connector provides access to a TTL level UART.
71
72 * TinCanTools 'Flyswatter' USB JTAG programmer.
73
74 * Turtelizer 2: http://www.ethernut.de/en/hardware/turtelizer/index.html
75 Another USB JTAG programmer, with freely available schematics. It supports
76 target voltages from 1.65V to 5.5V.
77
78 * Hitex STR9-comSTICK: http://www.ehitex.de/p_info.php?products_id=292
79 A STR912FW44x microcontroller "board" with USB and JTAG functionality.
80
81 * Luminary Micro development board evb_lm3s811 JTAG interface.
82
83 * ASIX PRESTO: http://www.asix-tools.com/prg_presto.htm
84 The ASIX PRESTO is a USB JTAG programmer for a wide range of components, e.g.
85 microcontrollers, serial EEPROM and Flash memory chips, CPLDs and others.
86
87 * usbprog: http://www.embedded-projects.net/index.php?page_id=165
88 The usbprog is a freely programmable USB adapter, which can (among other
89 things) use a firmware which turns it into a JTAG programmer/debugger.
90
91 All FT2232 based devices may be accessed using either FTDI's proprietary FTD2XX
92 library (www.ftdichip.com) or using an open-source replacement from
93 http://www.intra2net.com/de/produkte/opensource/ftdi/index.php, also included
94 with many Linux distributions.
95
96 2. Supported cores
97
98 This version of openocd supports the following ARM7/9 cores:
99
100 - ARM7TDMI(-s)
101 - ARM9TDMI
102 - ARM920t
103 - ARM922t
104 - ARM926ej-s
105 - ARM966e
106 - Cortex-M3
107
108 Support for Intel XScale CPUs is also included:
109
110 - PXA25x
111 - PXA27x
112 - IXP42x
113
114 3. Host platforms
115
116 OpenOCD was originally developed on x86-Linux, but has since then been ported
117 to run on Windows/Cygwin, native Windows with MinGW, FreeBSD, IA64-Linux,
118 AMD64-Linux, Alpha-Linux, ARM-Linux, and PowerPC OS-X.
119
120 4. Documentation
121
122 Documentation for the OpenOCD is hosted in the Berlios OpenFacts Wiki at
123 http://openfacts.berlios.de/index-en.phtml?title=Open_On-Chip_Debugger.
124
125 5. Licensing
126
127 OpenOCD is licensed under the terms of the GNU General Public License, see the
128 file COPYING for details.
129