|
|
@@ -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 |
|
|
|
|
|
|
|
@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 |
|
|
|
@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 |
|
|
|
@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 |
|
|
|
Detailed information about each section can be found at OpenOCD configuration. |
|
|
|
|
|
|
|
#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: |
|
|
|
@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 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 |
|
|
|
openocd -f interface/parport.cfg -f target/at91r40008.cfg -c init -c reset |
|
|
|
@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 |
|
|
|