aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--INSTALL11
-rw-r--r--README94
-rw-r--r--doc/configs/arm7_ft2232.cfg5
-rw-r--r--doc/configs/arm7_ftd2xx.cfg29
-rw-r--r--doc/configs/arm9_ft2232.cfg (renamed from doc/configs/arm9_ftd2xx.cfg)8
5 files changed, 86 insertions, 61 deletions
diff --git a/INSTALL b/INSTALL
index f200873..3f26ee2 100644
--- a/INSTALL
+++ b/INSTALL
@@ -7,6 +7,9 @@ one of the following libraries:
- libftdi (http://www.intra2net.com/opensource/ftdi/)
- libftd2xx (http://www.ftdichip.com/Drivers/D2XX.htm)
+On Windows, you need either Cygwin or MinGW, but compilation for MinGW is also
+possible using a Cygwin host.
+
Basic Installation
==================
@@ -16,7 +19,7 @@ necessary files generated.
You have to explicitly enable desired JTAG interfaces during configure:
-./configure --enable-parport --enable-ftdi2232 --enable-ftd2xx \
+./configure --enable-parport --enable-ft2232-libftdi (OR --enable-ft2232-ftd2xx) \
--enable-amtjtagaccel
Under Windows/Cygwin, only the ftd2xx driver is supported for FT2232 based
@@ -26,7 +29,11 @@ devices. You have to specify the location of the FTDI driver package with the
Under Linux you can choose to build the parport driver with support for
/dev/parportN instead of the default access with direct port I/O using
--enable-parport_ppdev. This has the advantage of running OpenOCD without root
-privileges at the expense of a slight performance decrease.
+privileges at the expense of a slight performance decrease. This is also
+available on FreeBSD using PPI, but the naming of the devices is different.
+
+Generic installation instructions
+=================================
These are generic installation instructions.
diff --git a/README b/README
index 30445f1..a725a94 100644
--- a/README
+++ b/README
@@ -1,8 +1,8 @@
- openocd
+ OpenOCD
- Free and Open On-Chip Debugging, In-System Programming
- and Boundary-Scan Testing
- Copyright (c) 2004, 2005 Dominic Rath
+ Free and Open On-Chip Debugging, In-System Programming
+ and Boundary-Scan Testing
+ Copyright (c) 2004, 2005, 2006 Dominic Rath
The debugger uses an IEEE 1149-1 compliant JTAG TAP bus master to access on-chip
debug functionality available on ARM7 and ARM9 based microcontrollers /
@@ -11,39 +11,83 @@ system-on-chip solutions.
User interaction is realized through a telnet command line interface and a gdb
(The GNU Debugger) remote protocol server.
-Initially, support for two JTAG TAP bus master interfaces with public hardware
-schematics will be included, but support of additional hardware is an expressed
-goal.
-
1. JTAG hardware
-Currently, openocd contains support for Wiggler-compatible paralell port
-dongles and a USB interface based on the FTDI FT2232, called USBJTAG-1.
-A new version of the USB interface, USB-JTAG v1.2, is available with complete
-schematics (http://www.fh-augsburg.de/~hhoegl/proj/volksmikro/usb-jtag/050910/).
+Currently, OpenOCD supports three types of JTAG interfaces:
+
+- Parallel port wigglers. These devices connect to a PC's parallel port,
+providing direct access to the JTAG lines. The OpenOCD contains descriptions
+of a few Wiggler layouts, including the original 'Wiggler' design. Other
+layouts (i.e. mapping of parallel port pins to JTAG lines) can be added easily.
+Typical Wiggler speeds are around 12kByte/s code download to an ARM7's RAM.
+
+- The Amontec JTAG Accelerator. This is a configuration for Amontec's Chameleon
+dongle, a parallel port interface based on a Xilinx CoolRunner CPLD. It uses
+the IEEE1284 EPP parallel port specification, providing many times the
+performance achievable with wiggler-style devices. Additional information is
+available on www.amontec.com.
+Typical JTAG Accelerator speeds are around 120-160kByte/s to an ARM7's RAM.
+
+- FTDI FT2232 based USB devices. The FT2232 (but not FT232 or FT245) features a
+multi-protocol synchronous serial engine (MPSSE) that can be used to run the
+serial JTAG protocol. There are several implemenations of FT2232 based devices:
+
+* USBJTAG: http://www.fh-augsburg.de/~hhoegl/proj/usbjtag/usbjtag.html
+The USBJTAG was designed by Prof. Hubert Hoegl to provide a high-speed USB
+interface for use with the OpenOCD. Schematics are available at the USBJTAG
+website, and a homebrew device can easily be built using the FTDI evaluation
+module DLP2232M.
+
+* Amontec JTAGkey: www.amontec.com
+The Amontec JTAGkey offers support for a wide variety of target voltages from
+1.4V to 5V. It also allows the JTAG lines and reset signals to be tri-stated,
+allowing easy interfacing with a wide variety of targets.
-It was tested using Amontec's (www.amontec.com) Chameleon POD in it's
-Wiggler configuration, but homemade wigglers should work just as well.
-In order to use the reset functionality (warm-reset, debug from reset, reset
-and init), the choosen Wiggler has to connect the nSRST line.
+* Olimex ARM-USB-OCD: www.olimex.com
+The Olimex ARM-USB-OCD offers support for a wide vriety of target voltages from
+2.0V to 5V. It also allows targets to be powered from the ARM-USB-OCD and
+features and additional RS232 UART.
-USBJTAG-1 is based on a FTDI DLP2232M module and a few additional parts.
-Schematics are freely available. USB-JTAG v1.2 doesn't use the DLP2232M, but
-has the FTDI chip soldered directly on the PCB. There are two drivers for these
-modules implemented, one using the open source libftdi, the other using FTDI's
-proprietary FTD2XX library.
+* eVerve Signalyzer: www.signalyzer.com
+The Signalyzer offers support for a wide variety of target voltages from 1.2V to
+5.5V. A second connector provides access to a TTL level UART.
+
+All FT2232 based devices may be accessed using either FTDI's proprietary FTD2XX
+library (www.ftdichip.com) or using an open-source replacement from
+http://www.intra2net.com/de/produkte/opensource/ftdi/index.php, also included
+with many Linux distributions.
2. Supported cores
This version of openocd supports the following cores:
-- ARM7TDMI
+- ARM7TDMI(-s)
- ARM9TDMI
+- ARM920t
+- ARM922t
+- ARM966e
+
+Support for Intel XScale CPUs (PXA25x, PXA27x and IXP4xx) is currently being
+developed.
+
+The OpenOCD is only tested with little-endian targets, but support for
+big-endian is planned. If you're interested in helping with this (and you
+happen to have a big-endian ARM7/ARM9 system, feel free to contact
+Dominic.Rath <at> gmx.de.
+
+3. Host platforms
+
+OpenOCD was originally developed on x86-Linux, but has since then been ported
+to run on Windows/Cygwin, native Windows with MinGW, FreeBSD, x86-64-Linux and
+(though it's not fully working yet) PowerPC OS-X.
+
+4. Documentation
-Support for cores with MMUs (ARM720t, ARM920t) is currently being merged.
+Documentation for the OpenOCD is hosted in the Berlios OpenFacts Wiki at
+http://openfacts.berlios.de/index-en.phtml?title=Open_On-Chip_Debugger.
-3. Licensing
+5. Licensing
-openocd is licensed under the terms of the GNU General Public License, see the
+OpenOCD is licensed under the terms of the GNU General Public License, see the
file COPYING for details.
diff --git a/doc/configs/arm7_ft2232.cfg b/doc/configs/arm7_ft2232.cfg
index 369d09b..bb302db 100644
--- a/doc/configs/arm7_ft2232.cfg
+++ b/doc/configs/arm7_ft2232.cfg
@@ -3,7 +3,10 @@ telnet_port 4444
gdb_port 3333
#interface
-interface ftdi2232
+interface ft2232
+ft2232 "Amontec JTAGkey A"
+ft2232 jtagkey
+ft2232 0x0403 0xcff8
jtag_speed 0
#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst srst_pulls_trst
diff --git a/doc/configs/arm7_ftd2xx.cfg b/doc/configs/arm7_ftd2xx.cfg
deleted file mode 100644
index 59dad02..0000000
--- a/doc/configs/arm7_ftd2xx.cfg
+++ /dev/null
@@ -1,29 +0,0 @@
-#daemon configuration
-telnet_port 4444
-gdb_port 3333
-
-#interface
-interface ftd2xx
-ftd2xx_device_desc "Amontec JTAGkey A"
-ftd2xx_layout jtagkey
-ftd2xx_vid_pid 0x0403 0xcff8
-jtag_speed 2
-#use combined on interfaces or targets that can't set TRST/SRST separately
-reset_config trst_and_srst srst_pulls_trst
-
-#jtag scan chain
-#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
-jtag_device 4 0x1 0xf 0xe
-
-#target configuration
-daemon_startup reset
-#target <type> <startup mode>
-#target arm7tdmi <reset mode> <chainpos> <endianness> <variant>
-target arm7tdmi little run_and_halt 0 arm7tdmi-s_r4
-target_script 0 reset h2294_init.script
-run_and_halt_time 0 30
-working_area 0 0x40000000 0x40000 nobackup
-
-#flash configuration
-flash bank lpc2000 0x0 0x40000 0 0 lpc2000_v1 0 14765 calc_checksum
-flash bank cfi 0x80000000 0x400000 2 2 0
diff --git a/doc/configs/arm9_ftd2xx.cfg b/doc/configs/arm9_ft2232.cfg
index 84885dd..2fecc7f 100644
--- a/doc/configs/arm9_ftd2xx.cfg
+++ b/doc/configs/arm9_ft2232.cfg
@@ -3,10 +3,10 @@ telnet_port 4444
gdb_port 3333
#interface
-interface ftd2xx
-ftd2xx_device_desc "Amontec JTAGkey A"
-ftd2xx_layout "jtagkey"
-ftd2xx_vid_pid 0x0403 0xcff8
+interface ft2232
+ft2232 "Amontec JTAGkey A"
+ft2232 "jtagkey"
+ft2232 0x0403 0xcff8
jtag_speed 1
#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst