|
|
|
@ -47,6 +47,7 @@ This manual documents edition @value{EDITION} of the Open On-Chip Debugger
|
|
|
|
|
* Building:: Building Openocd
|
|
|
|
|
* Running:: Running Openocd
|
|
|
|
|
* Configuration:: Openocd Configuration.
|
|
|
|
|
* Target library:: Target library
|
|
|
|
|
* Commands:: Openocd Commands
|
|
|
|
|
* Sample Scripts:: Sample Target Scripts
|
|
|
|
|
* GDB and Openocd:: Using GDB and Openocd
|
|
|
|
@ -235,7 +236,9 @@ chain, the targets that should be debugged, and connected flashes.
|
|
|
|
|
@itemize @bullet
|
|
|
|
|
@item @b{init} This command terminates the configuration stage and enters the normal
|
|
|
|
|
command mode. This can be useful to add commands to the startup scripts and commands
|
|
|
|
|
such as resetting the target, programming flash, etc.
|
|
|
|
|
such as resetting the target, programming flash, etc. To reset the CPU upon startup,
|
|
|
|
|
add "init" and "reset" at the end of the config script or at the end of the
|
|
|
|
|
openocd command line using the -c option.
|
|
|
|
|
@cindex init
|
|
|
|
|
@item @b{telnet_port} <@var{number}>
|
|
|
|
|
@cindex telnet_port
|
|
|
|
@ -263,8 +266,9 @@ Default behaviour is <@var{disable}>
|
|
|
|
|
@item @b{daemon_startup} <@var{mode}>
|
|
|
|
|
@cindex daemon_startup
|
|
|
|
|
@option{mode} can either @option{attach} or @option{reset}
|
|
|
|
|
Tells the OpenOCD whether it should reset the target when the daemon is launched, or
|
|
|
|
|
if it should just attach to the target.
|
|
|
|
|
This is equivalent to adding "init" and "reset" to the end of the config script.
|
|
|
|
|
|
|
|
|
|
It is availble as a command mainly for backwards compatibility.
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
@section JTAG interface configuration
|
|
|
|
@ -1219,7 +1223,7 @@ Enable/disable target debugmsgs requests. debugmsgs enable messages to be sent t
|
|
|
|
|
@chapter Sample Scripts
|
|
|
|
|
@cindex scripts
|
|
|
|
|
|
|
|
|
|
This page will collect some script examples for different CPUs.
|
|
|
|
|
This page shows how to use the target library.
|
|
|
|
|
|
|
|
|
|
The configuration script can be divided in the following section:
|
|
|
|
|
@itemize @bullet
|
|
|
|
@ -1230,657 +1234,16 @@ The configuration script can be divided in the following section:
|
|
|
|
|
@item flash configuration
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
Detailed information about each section can be found at OpenOCD configuration
|
|
|
|
|
Detailed information about each section can be found at OpenOCD configuration.
|
|
|
|
|
|
|
|
|
|
@section OMAP5912 Flash Debug
|
|
|
|
|
@cindex OMAP5912 Flash Debug
|
|
|
|
|
The following two scripts were used with a wiggler PP and and a TI OMAP5912
|
|
|
|
|
dual core processor - (@uref{http://www.ti.com}), on a OMAP5912 OSK board
|
|
|
|
|
- (@uref{http://www.spectrumdigital.com}).
|
|
|
|
|
@subsection Openocd config
|
|
|
|
|
@section AT91R40008 example
|
|
|
|
|
@cindex AT91R40008 example
|
|
|
|
|
To start OpenOCD with a target script for the AT91R40008 CPU and reset
|
|
|
|
|
the CPU upon startup of the OpenOCD daemon.
|
|
|
|
|
@smallexample
|
|
|
|
|
#daemon configuration
|
|
|
|
|
telnet_port 4444
|
|
|
|
|
gdb_port 3333
|
|
|
|
|
|
|
|
|
|
#interface
|
|
|
|
|
interface parport
|
|
|
|
|
parport_port 0x378
|
|
|
|
|
parport_cable wiggler
|
|
|
|
|
jtag_speed 0
|
|
|
|
|
|
|
|
|
|
#use combined on interfaces or targets that can't set TRST/SRST separately
|
|
|
|
|
reset_config trst_and_srst
|
|
|
|
|
|
|
|
|
|
#jtag scan chain
|
|
|
|
|
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
|
|
|
|
|
jtag_device 38 0x0 0x0 0x0
|
|
|
|
|
jtag_device 4 0x1 0x0 0xe
|
|
|
|
|
jtag_device 8 0x0 0x0 0x0
|
|
|
|
|
|
|
|
|
|
#target configuration
|
|
|
|
|
daemon_startup reset
|
|
|
|
|
|
|
|
|
|
#target <type> <endianness> <reset mode> <chainpos> <variant>
|
|
|
|
|
target arm926ejs little run_and_init 1 arm926ejs
|
|
|
|
|
target_script 0 reset omap5912_osk.init
|
|
|
|
|
run_and_halt_time 0 30
|
|
|
|
|
|
|
|
|
|
# omap5912 lcd frame buffer as working area
|
|
|
|
|
working_area 0 0x20000000 0x3e800 nobackup
|
|
|
|
|
|
|
|
|
|
#flash bank <driver> <base> <size> <chip_width> <bus_width>
|
|
|
|
|
flash bank cfi 0x00000000 0x1000000 2 2 0
|
|
|
|
|
openocd -f interface/parport.cfg -f target/at91r40008.cfg -c init -c reset
|
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
|
|
@subsection Openocd init
|
|
|
|
|
@smallexample
|
|
|
|
|
#
|
|
|
|
|
# halt target
|
|
|
|
|
#
|
|
|
|
|
poll
|
|
|
|
|
sleep 1
|
|
|
|
|
halt
|
|
|
|
|
wait_halt
|
|
|
|
|
#
|
|
|
|
|
# disable wdt
|
|
|
|
|
#
|
|
|
|
|
mww 0xfffec808 0x000000f5
|
|
|
|
|
mww 0xfffec808 0x000000a0
|
|
|
|
|
|
|
|
|
|
mww 0xfffeb048 0x0000aaaa
|
|
|
|
|
sleep 500
|
|
|
|
|
mww 0xfffeb048 0x00005555
|
|
|
|
|
sleep 500
|
|
|
|
|
#
|
|
|
|
|
# detect flash
|
|
|
|
|
#
|
|
|
|
|
flash probe 0
|
|
|
|
|
|
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
|
|
@section STR71x Script
|
|
|
|
|
@cindex STR71x Script
|
|
|
|
|
The following script was used with an Amontec JTAGkey and a STR710 / STR711 CPU:
|
|
|
|
|
@smallexample
|
|
|
|
|
#daemon configuration
|
|
|
|
|
telnet_port 4444
|
|
|
|
|
gdb_port 3333
|
|
|
|
|
|
|
|
|
|
#interface
|
|
|
|
|
interface ft2232
|
|
|
|
|
ft2232_device_desc "Amontec JTAGkey A"
|
|
|
|
|
ft2232_layout jtagkey
|
|
|
|
|
ft2232_vid_pid 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
|
|
|
|
|
|
|
|
|
|
#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 <endianness> <reset mode> <chainpos> <variant>
|
|
|
|
|
target arm7tdmi little run_and_halt 0 arm7tdmi
|
|
|
|
|
run_and_halt_time 0 30
|
|
|
|
|
|
|
|
|
|
working_area 0 0x2000C000 0x4000 nobackup
|
|
|
|
|
|
|
|
|
|
#flash bank <driver> <base> <size> <chip_width> <bus_width>
|
|
|
|
|
flash bank str7x 0x40000000 0x00040000 0 0 0 STR71x
|
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
|
|
@section STR750 Script
|
|
|
|
|
@cindex STR750 Script
|
|
|
|
|
The following script was used with an Amontec JTAGkey and a STR750 CPU:
|
|
|
|
|
@smallexample
|
|
|
|
|
#daemon configuration
|
|
|
|
|
telnet_port 4444
|
|
|
|
|
gdb_port 3333
|
|
|
|
|
|
|
|
|
|
#interface
|
|
|
|
|
interface ft2232
|
|
|
|
|
ft2232_device_desc "Amontec JTAGkey A"
|
|
|
|
|
ft2232_layout jtagkey
|
|
|
|
|
ft2232_vid_pid 0x0403 0xcff8
|
|
|
|
|
jtag_speed 19
|
|
|
|
|
|
|
|
|
|
#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
|
|
|
|
|
|
|
|
|
|
#jtag scan chain
|
|
|
|
|
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
|
|
|
|
|
jtag_device 4 0x1 0xf 0xe
|
|
|
|
|
|
|
|
|
|
#jtag nTRST and nSRST delay
|
|
|
|
|
jtag_nsrst_delay 500
|
|
|
|
|
jtag_ntrst_delay 500
|
|
|
|
|
|
|
|
|
|
#target configuration
|
|
|
|
|
daemon_startup reset
|
|
|
|
|
|
|
|
|
|
#target <type> <startup mode>
|
|
|
|
|
#target arm7tdmi <reset mode> <chainpos> <endianness> <variant>
|
|
|
|
|
target arm7tdmi little run_and_halt 0 arm7tdmi
|
|
|
|
|
run_and_halt_time 0 30
|
|
|
|
|
|
|
|
|
|
working_area 0 0x40000000 0x4000 nobackup
|
|
|
|
|
|
|
|
|
|
#flash bank <driver> <base> <size> <chip_width> <bus_width>
|
|
|
|
|
flash bank str7x 0x20000000 0x000040000 0 0 0 STR75x
|
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
|
|
@section STR912 Script
|
|
|
|
|
@cindex STR912 Script
|
|
|
|
|
The following script was used with an Amontec JTAGkey and a STR912 CPU:
|
|
|
|
|
@smallexample
|
|
|
|
|
#daemon configuration
|
|
|
|
|
telnet_port 4444
|
|
|
|
|
gdb_port 3333
|
|
|
|
|
|
|
|
|
|
#interface
|
|
|
|
|
interface ft2232
|
|
|
|
|
ft2232_device_desc "Amontec JTAGkey A"
|
|
|
|
|
ft2232_layout jtagkey
|
|
|
|
|
jtag_speed 1
|
|
|
|
|
|
|
|
|
|
#use combined on interfaces or targets that can't set TRST/SRST separately
|
|
|
|
|
reset_config trst_and_srst
|
|
|
|
|
|
|
|
|
|
#jtag scan chain
|
|
|
|
|
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
|
|
|
|
|
jtag_device 8 0x1 0x1 0xfe
|
|
|
|
|
jtag_device 4 0x1 0xf 0xe
|
|
|
|
|
jtag_device 5 0x1 0x1 0x1e
|
|
|
|
|
|
|
|
|
|
#target configuration
|
|
|
|
|
daemon_startup reset
|
|
|
|
|
|
|
|
|
|
#target <type> <startup mode>
|
|
|
|
|
#target arm966e <endianness> <reset mode> <chainpos> <variant>
|
|
|
|
|
target arm966e little reset_halt 1 arm966e
|
|
|
|
|
run_and_halt_time 0 30
|
|
|
|
|
|
|
|
|
|
working_area 0 0x50000000 16384 nobackup
|
|
|
|
|
|
|
|
|
|
#flash bank <driver> <base> <size> <chip_width> <bus_width>
|
|
|
|
|
flash bank str9x 0x00000000 0x00080000 0 0 0
|
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
|
|
@section STR912 comstick
|
|
|
|
|
@cindex STR912 comstick Script
|
|
|
|
|
The following script was used with a Hitex STR9 Comstick:
|
|
|
|
|
@smallexample
|
|
|
|
|
#daemon configuration
|
|
|
|
|
telnet_port 4444
|
|
|
|
|
gdb_port 3333
|
|
|
|
|
|
|
|
|
|
#interface
|
|
|
|
|
interface ft2232
|
|
|
|
|
ft2232_device_desc "STR9-comStick A"
|
|
|
|
|
ft2232_layout comstick
|
|
|
|
|
jtag_speed 1
|
|
|
|
|
|
|
|
|
|
jtag_nsrst_delay 100
|
|
|
|
|
jtag_ntrst_delay 100
|
|
|
|
|
|
|
|
|
|
#use combined on interfaces or targets that can't set TRST/SRST separately
|
|
|
|
|
reset_config trst_and_srst
|
|
|
|
|
|
|
|
|
|
#jtag scan chain
|
|
|
|
|
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
|
|
|
|
|
jtag_device 8 0x1 0x1 0xfe
|
|
|
|
|
jtag_device 4 0x1 0xf 0xe
|
|
|
|
|
jtag_device 5 0x1 0x1 0x1e
|
|
|
|
|
|
|
|
|
|
#target configuration
|
|
|
|
|
daemon_startup reset
|
|
|
|
|
|
|
|
|
|
#target <type> <startup mode>
|
|
|
|
|
#target arm966e <endianness> <reset mode> <chainpos> <variant>
|
|
|
|
|
target arm966e little reset_halt 1 arm966e
|
|
|
|
|
run_and_halt_time 0 30
|
|
|
|
|
|
|
|
|
|
working_area 0 0x50000000 16384 nobackup
|
|
|
|
|
|
|
|
|
|
#flash bank <driver> <base> <size> <chip_width> <bus_width>
|
|
|
|
|
flash bank str9x 0x00000000 0x00080000 0 0 0
|
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
|
|
@section STM32x Script
|
|
|
|
|
@cindex STM32x Script
|
|
|
|
|
The following script was used with an Amontec JTAGkey and a STM32x CPU:
|
|
|
|
|
@smallexample
|
|
|
|
|
#daemon configuration
|
|
|
|
|
telnet_port 4444
|
|
|
|
|
gdb_port 3333
|
|
|
|
|
|
|
|
|
|
#interface
|
|
|
|
|
interface ft2232
|
|
|
|
|
ft2232_device_desc "Amontec JTAGkey A"
|
|
|
|
|
ft2232_layout jtagkey
|
|
|
|
|
jtag_speed 10
|
|
|
|
|
|
|
|
|
|
jtag_nsrst_delay 100
|
|
|
|
|
jtag_ntrst_delay 100
|
|
|
|
|
|
|
|
|
|
#use combined on interfaces or targets that can't set TRST/SRST separately
|
|
|
|
|
reset_config trst_and_srst
|
|
|
|
|
|
|
|
|
|
#jtag scan chain
|
|
|
|
|
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
|
|
|
|
|
jtag_device 4 0x1 0xf 0xe
|
|
|
|
|
jtag_device 5 0x1 0x1 0x1e
|
|
|
|
|
|
|
|
|
|
#target configuration
|
|
|
|
|
daemon_startup reset
|
|
|
|
|
|
|
|
|
|
#target <type> <startup mode>
|
|
|
|
|
#target cortex_m3 <endianness> <reset mode> <chainpos> <variant>
|
|
|
|
|
target cortex_m3 little run_and_halt 0
|
|
|
|
|
run_and_halt_time 0 30
|
|
|
|
|
|
|
|
|
|
working_area 0 0x20000000 16384 nobackup
|
|
|
|
|
|
|
|
|
|
#flash bank <driver> <base> <size> <chip_width> <bus_width>
|
|
|
|
|
flash bank stm32x 0x08000000 0x00020000 0 0 0
|
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
|
|
@section STM32x Performance Stick
|
|
|
|
|
@cindex STM32x Performance Stick Script
|
|
|
|
|
The following script was used with the Hitex STM32 Performance Stick
|
|
|
|
|
@smallexample
|
|
|
|
|
#daemon configuration
|
|
|
|
|
telnet_port 4444
|
|
|
|
|
gdb_port 3333
|
|
|
|
|
|
|
|
|
|
#interface
|
|
|
|
|
interface ft2232
|
|
|
|
|
ft2232_device_desc "STM32-PerformanceStick A"
|
|
|
|
|
ft2232_layout stm32stick
|
|
|
|
|
jtag_speed 10
|
|
|
|
|
|
|
|
|
|
jtag_nsrst_delay 100
|
|
|
|
|
jtag_ntrst_delay 100
|
|
|
|
|
|
|
|
|
|
#use combined on interfaces or targets that can't set TRST/SRST separately
|
|
|
|
|
reset_config trst_and_srst
|
|
|
|
|
|
|
|
|
|
#jtag scan chain
|
|
|
|
|
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
|
|
|
|
|
jtag_device 4 0x1 0xf 0xe
|
|
|
|
|
jtag_device 5 0x1 0x1 0x1e
|
|
|
|
|
jtag_device 4 0x1 0xf 0xe
|
|
|
|
|
|
|
|
|
|
#target configuration
|
|
|
|
|
daemon_startup reset
|
|
|
|
|
|
|
|
|
|
#target <type> <startup mode>
|
|
|
|
|
#target cortex_m3 <endianness> <reset mode> <chainpos> <variant>
|
|
|
|
|
target cortex_m3 little run_and_halt 0
|
|
|
|
|
run_and_halt_time 0 30
|
|
|
|
|
|
|
|
|
|
working_area 0 0x20000000 16384 nobackup
|
|
|
|
|
|
|
|
|
|
#flash bank <driver> <base> <size> <chip_width> <bus_width>
|
|
|
|
|
flash bank stm32x 0x08000000 0x00020000 0 0 0
|
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
|
|
@section LPC2129 Script
|
|
|
|
|
@cindex LPC2129 Script
|
|
|
|
|
The following script was used with an wiggler PP and a LPC-2129 CPU:
|
|
|
|
|
@smallexample
|
|
|
|
|
#daemon configuration
|
|
|
|
|
telnet_port 4444
|
|
|
|
|
gdb_port 3333
|
|
|
|
|
|
|
|
|
|
#interface
|
|
|
|
|
interface parport
|
|
|
|
|
parport_port 0x378
|
|
|
|
|
parport_cable wiggler
|
|
|
|
|
jtag_speed 0
|
|
|
|
|
|
|
|
|
|
#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 <endianness> <reset mode> <chainpos> <variant>
|
|
|
|
|
target arm7tdmi little run_and_halt 0 arm7tdmi-s_r4
|
|
|
|
|
run_and_halt_time 0 30
|
|
|
|
|
|
|
|
|
|
working_area 0 0x40000000 0x4000 nobackup
|
|
|
|
|
|
|
|
|
|
#flash bank <driver> <base> <size> <chip_width> <bus_width>
|
|
|
|
|
flash bank lpc2000 0x0 0x40000 0 0 0 lpc2000_v1 14765 calc_checksum
|
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
|
|
@section LPC2148 Script
|
|
|
|
|
@cindex LPC2148 Script
|
|
|
|
|
The following script was used with an Amontec JTAGkey and a LPC2148 CPU:
|
|
|
|
|
@smallexample
|
|
|
|
|
#daemon configuration
|
|
|
|
|
telnet_port 4444
|
|
|
|
|
gdb_port 3333
|
|
|
|
|
|
|
|
|
|
#interface
|
|
|
|
|
interface ft2232
|
|
|
|
|
ft2232_device_desc "Amontec JTAGkey A"
|
|
|
|
|
ft2232_layout jtagkey
|
|
|
|
|
ft2232_vid_pid 0x0403 0xcff8
|
|
|
|
|
jtag_speed 3
|
|
|
|
|
|
|
|
|
|
#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 <endianness> <reset mode> <chainpos> <variant>
|
|
|
|
|
target arm7tdmi little run_and_halt 0 arm7tdmi-s_r4
|
|
|
|
|
run_and_halt_time 0 30
|
|
|
|
|
|
|
|
|
|
working_area 0 0x40000000 0x8000 nobackup
|
|
|
|
|
|
|
|
|
|
#flash configuration
|
|
|
|
|
flash bank lpc2000 0x0 0x7d000 0 0 0 lpc2000_v1 14765 calc_checksum
|
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
|
|
@section LPC2294 Script
|
|
|
|
|
@cindex LPC2294 Script
|
|
|
|
|
The following script was used with an Amontec JTAGkey and a LPC2294 CPU:
|
|
|
|
|
@smallexample
|
|
|
|
|
#daemon configuration
|
|
|
|
|
telnet_port 4444
|
|
|
|
|
gdb_port 3333
|
|
|
|
|
|
|
|
|
|
#interface
|
|
|
|
|
interface ft2232
|
|
|
|
|
ft2232_device_desc "Amontec JTAGkey A"
|
|
|
|
|
ft2232_layout jtagkey
|
|
|
|
|
ft2232_vid_pid 0x0403 0xcff8
|
|
|
|
|
jtag_speed 3
|
|
|
|
|
|
|
|
|
|
#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 <endianness> <reset mode> <chainpos> <variant>
|
|
|
|
|
target arm7tdmi little run_and_halt 0 arm7tdmi-s_r4
|
|
|
|
|
run_and_halt_time 0 30
|
|
|
|
|
|
|
|
|
|
working_area 0 0x40000000 0x4000 nobackup
|
|
|
|
|
|
|
|
|
|
#flash configuration
|
|
|
|
|
flash bank lpc2000 0x0 0x40000 0 0 0 lpc2000_v1 14765 calc_checksum
|
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
|
|
@section AT91R40008 Script
|
|
|
|
|
@cindex AT91R40008 Script
|
|
|
|
|
The following script was used with an Amontec JTAGkey and a AT91R40008 CPU:
|
|
|
|
|
@smallexample
|
|
|
|
|
#daemon configuration
|
|
|
|
|
telnet_port 4444
|
|
|
|
|
gdb_port 3333
|
|
|
|
|
|
|
|
|
|
#interface
|
|
|
|
|
interface ft2232
|
|
|
|
|
ft2232_device_desc "Amontec JTAGkey A"
|
|
|
|
|
ft2232_layout jtagkey
|
|
|
|
|
ft2232_vid_pid 0x0403 0xcff8
|
|
|
|
|
jtag_speed 0
|
|
|
|
|
jtag_nsrst_delay 200
|
|
|
|
|
jtag_ntrst_delay 200
|
|
|
|
|
|
|
|
|
|
#use combined on interfaces or targets that can't set TRST/SRST separately
|
|
|
|
|
reset_config srst_only 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 <endianness> <reset mode> <chainpos> <variant>
|
|
|
|
|
target arm7tdmi little run_and_halt 0 arm7tdmi
|
|
|
|
|
run_and_halt_time 0 30
|
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
|
|
@section AT91SAM7s Script
|
|
|
|
|
@cindex AT91SAM7s Script
|
|
|
|
|
The following script was used with an Olimex ARM-JTAG-OCD and a AT91SAM7S64 CPU:
|
|
|
|
|
@smallexample
|
|
|
|
|
#daemon configuration
|
|
|
|
|
telnet_port 4444
|
|
|
|
|
gdb_port 3333
|
|
|
|
|
|
|
|
|
|
#interface
|
|
|
|
|
interface ft2232
|
|
|
|
|
ft2232_device_desc "Olimex OpenOCD JTAG A"
|
|
|
|
|
ft2232_layout olimex-jtag
|
|
|
|
|
ft2232_vid_pid 0x15BA 0x0003
|
|
|
|
|
jtag_speed 0
|
|
|
|
|
jtag_nsrst_delay 200
|
|
|
|
|
jtag_ntrst_delay 200
|
|
|
|
|
|
|
|
|
|
#use combined on interfaces or targets that can't set TRST/SRST separately
|
|
|
|
|
reset_config srst_only 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 <endianness> <reset mode> <chainpos> <variant>
|
|
|
|
|
target arm7tdmi little run_and_halt 0 arm7tdmi
|
|
|
|
|
run_and_halt_time 0 30
|
|
|
|
|
|
|
|
|
|
# flash-options AT91
|
|
|
|
|
working_area 0 0x00200000 0x4000 nobackup
|
|
|
|
|
flash bank at91sam7 0 0 0 0 0
|
|
|
|
|
|
|
|
|
|
# Information:
|
|
|
|
|
# erase command (telnet-interface) for complete flash:
|
|
|
|
|
# flash erase <num> 0 numlockbits-1 (can be seen from output of flash info 0)
|
|
|
|
|
# SAM7S64 with 16 lockbits and bank 0: flash erase 0 0 15
|
|
|
|
|
# set/clear NVM-Bits:
|
|
|
|
|
# at91sam7 gpnvm <num> <bit> <set|clear>
|
|
|
|
|
# disable locking from SAM-BA:
|
|
|
|
|
# flash protect 0 0 1 off
|
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
|
|
@section XSCALE IXP42x Script
|
|
|
|
|
@cindex XSCALE IXP42x Script
|
|
|
|
|
The following script was used with an Amontec JTAGkey-Tiny and a xscale ixp42x CPU:
|
|
|
|
|
@smallexample
|
|
|
|
|
#daemon configuration
|
|
|
|
|
telnet_port 4444
|
|
|
|
|
gdb_port 3333
|
|
|
|
|
|
|
|
|
|
#interface
|
|
|
|
|
interface ft2232
|
|
|
|
|
ft2232_device_desc "Amontec JTAGkey A"
|
|
|
|
|
ft2232_layout jtagkey
|
|
|
|
|
ft2232_vid_pid 0x0403 0xcff8
|
|
|
|
|
jtag_speed 0
|
|
|
|
|
jtag_nsrst_delay 200
|
|
|
|
|
jtag_ntrst_delay 200
|
|
|
|
|
|
|
|
|
|
#use combined on interfaces or targets that can't set TRST/SRST separately
|
|
|
|
|
reset_config srst_only srst_pulls_trst
|
|
|
|
|
|
|
|
|
|
#jtag scan chain
|
|
|
|
|
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
|
|
|
|
|
jtag_device 7 0x1 0x7f 0x7e
|
|
|
|
|
|
|
|
|
|
#target configuration
|
|
|
|
|
daemon_startup reset
|
|
|
|
|
|
|
|
|
|
#target <type> <startup mode>
|
|
|
|
|
#target arm7tdmi <reset mode> <chainpos> <endianness> <variant>
|
|
|
|
|
target xscale big run_and_halt 0 IXP42x
|
|
|
|
|
run_and_halt_time 0 30
|
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
|
|
@section Cirrus Logic EP9301 Script
|
|
|
|
|
@cindex Cirrus Logic EP9301 Script
|
|
|
|
|
The following script was used with FT2232 based JTAG interfaces and a
|
|
|
|
|
Cirrus Logic EP9301 processor on an Olimex CS-E9301 board.
|
|
|
|
|
@smallexample
|
|
|
|
|
#daemon configuration
|
|
|
|
|
telnet_port 4444
|
|
|
|
|
gdb_port 3333
|
|
|
|
|
|
|
|
|
|
#interface
|
|
|
|
|
interface ft2232
|
|
|
|
|
|
|
|
|
|
#Olimex ARM-USB-OCD
|
|
|
|
|
#ft2232_device_desc "Olimex OpenOCD JTAG"
|
|
|
|
|
#ft2232_layout olimex-jtag
|
|
|
|
|
#ft2232_vid_pid 0x15ba 0x0003
|
|
|
|
|
|
|
|
|
|
#Amontec JTAGkey (and JTAGkey-Tiny)
|
|
|
|
|
#Serial is only necessary if more than one JTAGkey is connected
|
|
|
|
|
ft2232_device_desc "Amontec JTAGkey A"
|
|
|
|
|
#ft2232_serial AMTJKV31
|
|
|
|
|
#ft2232_serial T1P3S2W8
|
|
|
|
|
ft2232_layout jtagkey
|
|
|
|
|
ft2232_vid_pid 0x0403 0xcff8
|
|
|
|
|
|
|
|
|
|
#wiggler/parallel port interface
|
|
|
|
|
#interface parport
|
|
|
|
|
#parport_port 0x378
|
|
|
|
|
#parport_cable wiggler
|
|
|
|
|
#jtag_speed 0
|
|
|
|
|
jtag_speed 1
|
|
|
|
|
reset_config trst_and_srst
|
|
|
|
|
|
|
|
|
|
#jtag scan chain
|
|
|
|
|
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
|
|
|
|
|
jtag_device 4 0x1 0xf 0xe
|
|
|
|
|
|
|
|
|
|
jtag_nsrst_delay 100
|
|
|
|
|
jtag_ntrst_delay 100
|
|
|
|
|
|
|
|
|
|
#target configuration
|
|
|
|
|
daemon_startup attach
|
|
|
|
|
|
|
|
|
|
#target <type> <endianess> <reset mode>
|
|
|
|
|
target arm920t little reset_halt 0
|
|
|
|
|
working_area 0 0x80014000 0x1000 backup
|
|
|
|
|
|
|
|
|
|
#flash configuration
|
|
|
|
|
#flash bank <driver> <base> <size> <chip_width> <bus_width> [driver_options ...]
|
|
|
|
|
flash bank cfi 0x60000000 0x1000000 2 2 0
|
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
|
|
@section Hilscher netX 100 / 500 Script
|
|
|
|
|
@cindex Hilscher netX 100 / 500 Script
|
|
|
|
|
The following script was used with an Amontec JTAGkey and a Hilscher
|
|
|
|
|
netX 500 CPU:
|
|
|
|
|
@smallexample
|
|
|
|
|
#daemon configuration
|
|
|
|
|
telnet_port 4444
|
|
|
|
|
gdb_port 3333
|
|
|
|
|
|
|
|
|
|
#interface
|
|
|
|
|
interface ft2232
|
|
|
|
|
ft2232_device_desc "Amontec JTAGkey A"
|
|
|
|
|
ft2232_layout jtagkey
|
|
|
|
|
ft2232_vid_pid 0x0403 0xcff8
|
|
|
|
|
jtag_speed 5
|
|
|
|
|
|
|
|
|
|
#use combined on interfaces or targets that can't set TRST/SRST separately
|
|
|
|
|
reset_config trst_and_srst
|
|
|
|
|
|
|
|
|
|
#jtag scan chain
|
|
|
|
|
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
|
|
|
|
|
jtag_device 4 0x1 0xf 0xe
|
|
|
|
|
|
|
|
|
|
jtag_nsrst_delay 100
|
|
|
|
|
jtag_ntrst_delay 100
|
|
|
|
|
|
|
|
|
|
#target configuration
|
|
|
|
|
daemon_startup reset
|
|
|
|
|
|
|
|
|
|
#target <type> <endianness> <startup mode> <chainpos> <variant>
|
|
|
|
|
target arm926ejs little run_and_halt 0 arm926ejs
|
|
|
|
|
run_and_halt_time 0 500
|
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
|
|
@section Marvell/Intel PXA270 Script
|
|
|
|
|
@cindex Marvell/Intel PXA270 Script
|
|
|
|
|
@smallexample
|
|
|
|
|
# config for Intel PXA270
|
|
|
|
|
# not, as of 2007-06-22, openocd only works with the
|
|
|
|
|
# libftd2xx library from ftdi. libftdi does not work.
|
|
|
|
|
|
|
|
|
|
telnet_port 3333
|
|
|
|
|
gdb_port 4444
|
|
|
|
|
|
|
|
|
|
interface ft2232
|
|
|
|
|
ft2232_layout olimex-jtag
|
|
|
|
|
ft2232_vid_pid 0x15BA 0x0003
|
|
|
|
|
ft2232_device_desc "Olimex OpenOCD JTAG"
|
|
|
|
|
jtag_speed 0
|
|
|
|
|
# set jtag_nsrst_delay to the delay introduced by your reset circuit
|
|
|
|
|
# the rest of the needed delays are built into the openocd program
|
|
|
|
|
jtag_nsrst_delay 260
|
|
|
|
|
# set the jtag_ntrst_delay to the delay introduced by a reset circuit
|
|
|
|
|
# the rest of the needed delays are built into the openocd program
|
|
|
|
|
jtag_ntrst_delay 0
|
|
|
|
|
|
|
|
|
|
#use combined on interfaces or targets that can't set TRST/SRST separately
|
|
|
|
|
reset_config trst_and_srst separate
|
|
|
|
|
|
|
|
|
|
#jtag scan chain
|
|
|
|
|
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
|
|
|
|
|
jtag_device 7 0x1 0x7f 0x7e
|
|
|
|
|
|
|
|
|
|
#target configuration
|
|
|
|
|
daemon_startup reset
|
|
|
|
|
|
|
|
|
|
target xscale little reset_halt 0 pxa27x
|
|
|
|
|
|
|
|
|
|
# maps to PXA internal RAM. If you are using a PXA255
|
|
|
|
|
# you must initialize SDRAM or leave this option off
|
|
|
|
|
working_area 0 0x5c000000 0x10000 nobackup
|
|
|
|
|
|
|
|
|
|
run_and_halt_time 0 30
|
|
|
|
|
|
|
|
|
|
#flash bank <driver> <base> <size> <chip_width> <bus_width>
|
|
|
|
|
# works for P30 flash
|
|
|
|
|
flash bank cfi 0x00000000 0x1000000 2 4 0
|
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
|
|
@node GDB and Openocd
|
|
|
|
|
@chapter GDB and Openocd
|
|
|
|
|