X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=doc%2Fopenocd.texi;h=bb2c94357066f3016761589144a1ce19166c2acd;hp=0f5bd9167673b5ab074416e47fd437a0dbdd77f0;hb=2ec5bd2864e55654258070381ce58c126e9fbe7b;hpb=8c634335b41a805998e5bae05328bb47057cce0b diff --git a/doc/openocd.texi b/doc/openocd.texi index 0f5bd91676..bb2c943570 100644 --- a/doc/openocd.texi +++ b/doc/openocd.texi @@ -4,8 +4,12 @@ @settitle Open On-Chip Debugger (openocd) @c %**end of header +@include version.texi + @titlepage @title Open On-Chip Debugger (openocd) +@subtitle Edition @value{EDITION} for openocd version @value{VERSION} +@subtitle @value{UPDATED} @page @vskip 0pt plus 1filll @end titlepage @@ -15,7 +19,8 @@ @node Top, About, , (dir) @top OpenOCD -The Manual always document the latest version of OpenOCD available from SVN. +This is edition @value{EDITION} of the openocd manual for version +@value{VERSION}, @value{UPDATED} @menu * About:: About Openocd. @@ -67,11 +72,11 @@ as numerous bugfixes and enhancements. See the AUTHORS file for regular contribu You can download the current SVN version with SVN client of your choice from the following repositories: - (@uref{svn://svn.berlios.de/openocd/trunk} + (@uref{svn://svn.berlios.de/openocd/trunk}) or - (@uref{http://svn.berlios.de/svnroot/repos/openocd/trunk} + (@uref{http://svn.berlios.de/svnroot/repos/openocd/trunk}) Using the SVN command line client, you could use the following command to fetch the latest version (make sure there is no (non-svn) directory called "openocd" in the @@ -91,8 +96,8 @@ from the logs of one user - correct me if I'm wrong). You further need the appropriate driver files, if you want to build support for a FTDI FT2232 based interface: @itemize @bullet -@item @b{ftdi2232} libftdi ((@uref{http://www.intra2net.com/opensource/ftdi/}) -@item @b{ftd2xx} libftd2xx ((@uref{http://www.ftdichip.com/Drivers/D2XX.htm}) +@item @b{ftdi2232} libftdi (@uref{http://www.intra2net.com/opensource/ftdi/}) +@item @b{ftd2xx} libftd2xx (@uref{http://www.ftdichip.com/Drivers/D2XX.htm}) @item When using the Amontec JTAGkey, you have to get the drivers from the Amontec homepage (@uref{www.amontec.com}), as the JTAGkey uses a non-standard VID/PID. @end itemize @@ -142,7 +147,7 @@ build properly} If you want to access the parallel port using the PPDEV interface you have to specify both the @option{--enable-parport} AND the @option{--enable-parport_ppdev} option since the @option{--enable-parport_ppdev} option actually is an option to the parport driver -(see (@uref{http://forum.sparkfun.com/viewtopic.php?t=3795} for more info). +(see @uref{http://forum.sparkfun.com/viewtopic.php?t=3795} for more info). Cygwin users have to specify the location of the FTDI D2XX package. This should be an absolute path containing no spaces. @@ -320,6 +325,10 @@ This is also the layout used by the HollyGates design @cindex flashlink ST Parallel cable. @end itemize +@item @b{parport_write_on_exit} <@var{on|off}> +@cindex parport_write_on_exit +This will configure the parallel driver to write a known value to the parallel +interface on exiting openocd @end itemize @section amt_jtagaccel options @@ -356,6 +365,8 @@ Luminary Micro EVB_LM3S811 as a JTAG interface (not onboard processor), no TRST SRST signals on external connector @item comstick Hitex STR9 comstick +@item stm32stick +Hitex STM32 Performance Stick @end itemize @item @b{ft2232_vid_pid} <@var{vid}> <@var{pid}> @@ -677,6 +688,7 @@ Dump <@var{size}> bytes of target memory starting at <@var{address}> to a @item @b{verify_image} <@var{file}> <@var{address}> [@option{bin}|@option{ihex}|@option{elf}] @cindex verify_image Verify <@var{file}> to target memory starting at <@var{address}>. +This will first attempt using a crc checksum, if this fails it will try a binary compare. @item @b{load_binary} <@var{file}> <@var{address}> [DEPRECATED] @cindex load_binary Load binary <@var{file}> to target memory at <@var{address}> @@ -708,12 +720,23 @@ updated information. @item @b{flash protect_check} <@var{num}> @cindex flash protect_check Check protection state of sectors in flash bank . -@item @b{flash erase} <@var{num}> <@var{first}> <@var{last}> + +@item @b{flash erase} <@var{num}> <@var{first}> <@var{last}> [DEPRECATED] @cindex flash erase Erase sectors at bank <@var{num}>, starting at sector <@var{first}> up to and including <@var{last}>. Sector numbering starts at 0. Depending on the flash type, erasing might require the protection to be disabled first (e.g. Intel Advanced Bootblock flash using -the CFI driver). +the CFI driver). This command was replaced by the new command +@option{flash erase_sector} using the same syntax. +@item @b{flash erase_sector} <@var{num}> <@var{first}> <@var{last}> +@cindex flash erase_sector +Erase sectors at bank <@var{num}>, starting at sector <@var{first}> up to and including +<@var{last}>. Sector numbering starts at 0. Depending on the flash type, erasing might +require the protection to be disabled first (e.g. Intel Advanced Bootblock flash using +the CFI driver). +@item @b{flash erase_address} <@var{address}> <@var{length}> +@cindex flash erase_address +Erase sectors starting at <@var{address}> for <@var{length}> number of bytes @item @b{flash write} <@var{num}> <@var{file}> <@var{offset}> [DEPRECATED] @cindex flash write Write the binary <@var{file}> to flash bank <@var{num}>, starting at <@var{offset}> @@ -1004,7 +1027,7 @@ Detailed information about each section can be found at OpenOCD configuration @cindex OMAP5912 Flash Debug The following two scripts was used with an 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}). +(@uref{http://www.spectrumdigital.com}). @subsection Openocd config @smallexample #daemon configuration @@ -1181,6 +1204,46 @@ working_area 0 0x50000000 16384 nobackup 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 +#target arm966e +target arm966e little reset_halt 1 arm966e +run_and_halt_time 0 30 + +working_area 0 0x50000000 16384 nobackup + +#flash bank +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: @@ -1194,7 +1257,10 @@ 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 @@ -1217,9 +1283,9 @@ working_area 0 0x20000000 16384 nobackup flash bank stm32x 0x08000000 0x00010000 0 0 0 @end smallexample -@section LPC2294 Script -@cindex LPC2294 Script -The following script was used with an Amontec JTAGkey and a LPC2294 cpu: +@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 @@ -1227,10 +1293,49 @@ gdb_port 3333 #interface interface ft2232 -ft2232_device_desc "Amontec JTAGkey A" -ft2232_layout jtagkey -ft2232_vid_pid 0x0403 0xcff8 -jtag_speed 2 +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 +#target cortex_m3 +target cortex_m3 little run_and_halt 0 +run_and_halt_time 0 30 + +working_area 0 0x20000000 16384 nobackup + +#flash bank +flash bank stm32x 0x08000000 0x00010000 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 @@ -1247,15 +1352,15 @@ daemon_startup reset target arm7tdmi little run_and_halt 0 arm7tdmi-s_r4 run_and_halt_time 0 30 -working_area 0 0x40000000 0x40000 nobackup +working_area 0 0x40000000 0x4000 nobackup -#flash configuration +#flash bank 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: +@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 @@ -1266,12 +1371,10 @@ 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 +jtag_speed 3 #use combined on interfaces or targets that can't set TRST/SRST separately -reset_config srst_only 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) @@ -1282,23 +1385,29 @@ daemon_startup reset #target #target arm7tdmi -target arm7tdmi little run_and_halt 0 arm7tdmi +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 LPC2129 Script -@cindex LPC2129 Script -The following script was used with an wiggler PP and a LPC-2129 cpu: +@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 parport -parport_port 0x378 -parport_cable wiggler -jtag_speed 0 +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 @@ -1315,12 +1424,45 @@ daemon_startup reset target arm7tdmi little run_and_halt 0 arm7tdmi-s_r4 run_and_halt_time 0 30 -working_area 0 0x00000000 0x400000 nobackup +working_area 0 0x40000000 0x4000 nobackup -#flash bank +#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 +#target arm7tdmi +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: