Browse Source

- updated configuration examples, installation instructions and README (including list of supported JTAG interfaces)

git-svn-id: svn://svn.berlios.de/openocd/trunk@85 b42882b7-edfa-0310-969c-e2dbd0fdcd60
tags/v0.1.0
drath 16 years ago
parent
commit
91f58cccbc
5 changed files with 86 additions and 61 deletions
  1. +9
    -2
      INSTALL
  2. +69
    -25
      README
  3. +4
    -1
      doc/configs/arm7_ft2232.cfg
  4. +0
    -29
      doc/configs/arm7_ftd2xx.cfg
  5. +4
    -4
      doc/configs/arm9_ft2232.cfg

+ 9
- 2
INSTALL View File

@@ -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.



+ 69
- 25
README View File

@@ -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.


+ 4
- 1
doc/configs/arm7_ft2232.cfg View File

@@ -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


+ 0
- 29
doc/configs/arm7_ftd2xx.cfg View File

@@ -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

doc/configs/arm9_ftd2xx.cfg → doc/configs/arm9_ft2232.cfg View File

@@ -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

Loading…
Cancel
Save