- 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
__archive__
drath 2006-08-14 10:58:12 +00:00
parent 15294929e2
commit 91f58cccbc
5 changed files with 86 additions and 61 deletions

11
INSTALL
View File

@ -7,6 +7,9 @@ one of the following libraries:
- libftdi (http://www.intra2net.com/opensource/ftdi/) - libftdi (http://www.intra2net.com/opensource/ftdi/)
- libftd2xx (http://www.ftdichip.com/Drivers/D2XX.htm) - 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 Basic Installation
================== ==================
@ -16,7 +19,7 @@ necessary files generated.
You have to explicitly enable desired JTAG interfaces during configure: 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 --enable-amtjtagaccel
Under Windows/Cygwin, only the ftd2xx driver is supported for FT2232 based 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 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 /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 --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. These are generic installation instructions.

94
README
View File

@ -1,8 +1,8 @@
openocd OpenOCD
Free and Open On-Chip Debugging, In-System Programming Free and Open On-Chip Debugging, In-System Programming
and Boundary-Scan Testing and Boundary-Scan Testing
Copyright (c) 2004, 2005 Dominic Rath Copyright (c) 2004, 2005, 2006 Dominic Rath
The debugger uses an IEEE 1149-1 compliant JTAG TAP bus master to access on-chip 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 / 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 User interaction is realized through a telnet command line interface and a gdb
(The GNU Debugger) remote protocol server. (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 1. JTAG hardware
Currently, openocd contains support for Wiggler-compatible paralell port Currently, OpenOCD supports three types of JTAG interfaces:
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/).
It was tested using Amontec's (www.amontec.com) Chameleon POD in it's - Parallel port wigglers. These devices connect to a PC's parallel port,
Wiggler configuration, but homemade wigglers should work just as well. providing direct access to the JTAG lines. The OpenOCD contains descriptions
In order to use the reset functionality (warm-reset, debug from reset, reset of a few Wiggler layouts, including the original 'Wiggler' design. Other
and init), the choosen Wiggler has to connect the nSRST line. 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.
USBJTAG-1 is based on a FTDI DLP2232M module and a few additional parts. - The Amontec JTAG Accelerator. This is a configuration for Amontec's Chameleon
Schematics are freely available. USB-JTAG v1.2 doesn't use the DLP2232M, but dongle, a parallel port interface based on a Xilinx CoolRunner CPLD. It uses
has the FTDI chip soldered directly on the PCB. There are two drivers for these the IEEE1284 EPP parallel port specification, providing many times the
modules implemented, one using the open source libftdi, the other using FTDI's performance achievable with wiggler-style devices. Additional information is
proprietary FTD2XX library. 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.
* 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.
* 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 2. Supported cores
This version of openocd supports the following cores: This version of openocd supports the following cores:
- ARM7TDMI - ARM7TDMI(-s)
- ARM9TDMI - ARM9TDMI
- ARM920t
- ARM922t
- ARM966e
Support for cores with MMUs (ARM720t, ARM920t) is currently being merged. Support for Intel XScale CPUs (PXA25x, PXA27x and IXP4xx) is currently being
developed.
3. Licensing 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.
openocd is licensed under the terms of the GNU General Public License, see the 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
Documentation for the OpenOCD is hosted in the Berlios OpenFacts Wiki at
http://openfacts.berlios.de/index-en.phtml?title=Open_On-Chip_Debugger.
5. Licensing
OpenOCD is licensed under the terms of the GNU General Public License, see the
file COPYING for details. file COPYING for details.

View File

@ -3,7 +3,10 @@ telnet_port 4444
gdb_port 3333 gdb_port 3333
#interface #interface
interface ftdi2232 interface ft2232
ft2232 "Amontec JTAGkey A"
ft2232 jtagkey
ft2232 0x0403 0xcff8
jtag_speed 0 jtag_speed 0
#use combined on interfaces or targets that can't set TRST/SRST separately #use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst srst_pulls_trst reset_config trst_and_srst srst_pulls_trst

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

View File

@ -3,10 +3,10 @@ telnet_port 4444
gdb_port 3333 gdb_port 3333
#interface #interface
interface ftd2xx interface ft2232
ftd2xx_device_desc "Amontec JTAGkey A" ft2232 "Amontec JTAGkey A"
ftd2xx_layout "jtagkey" ft2232 "jtagkey"
ftd2xx_vid_pid 0x0403 0xcff8 ft2232 0x0403 0xcff8
jtag_speed 1 jtag_speed 1
#use combined on interfaces or targets that can't set TRST/SRST separately #use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst reset_config trst_and_srst