- 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__
parent
15294929e2
commit
91f58cccbc
11
INSTALL
11
INSTALL
|
@ -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
94
README
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
Loading…
Reference in New Issue