doc updates to match "help" better
authorDavid Brownell <dbrownell@users.sourceforge.net>
Wed, 14 Oct 2009 22:18:00 +0000 (15:18 -0700)
committerDavid Brownell <dbrownell@users.sourceforge.net>
Wed, 14 Oct 2009 22:18:00 +0000 (15:18 -0700)
This makes the documentation a closer match to "help" output:

 - "pathmove" somehow was not documented in the User's Guide

 - "jtag_nsrst_assert_width" and "jtag_ntrst_assert_width"
   are new; both needed descriptions.

 - Removed two undocumented and fairly useless script mechanisms:
    * production/production_info/production_test ... using it,
      requires replacing everything; so having it adds no value.
    * cpu ... way out of date; hopeless to keep that current

Note that anyone using that "production" stuff already defines
their own procedures, and can keep using them with no change.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
doc/openocd.texi
src/helper/startup.tcl

index fd4f9f7f68bdabd34d5821a33fa87ff126dbd8f8..6d33d56a939599a1499b73cde759f8c8f82a3f7c 100644 (file)
@@ -2221,6 +2221,12 @@ needing to cope with both architecture and board specific constraints.
 
 @section Commands for Handling Resets
 
+@deffn {Command} jtag_nsrst_assert_width milliseconds
+Minimum amount of time (in milliseconds) OpenOCD should wait
+after asserting nSRST (active-low system reset) before
+allowing it to be deasserted.
+@end deffn
+
 @deffn {Command} jtag_nsrst_delay milliseconds
 How long (in milliseconds) OpenOCD should wait after deasserting
 nSRST (active-low system reset) before starting new JTAG operations.
@@ -2228,6 +2234,12 @@ When a board has a reset button connected to SRST line it will
 probably have hardware debouncing, implying you should use this.
 @end deffn
 
+@deffn {Command} jtag_ntrst_assert_width milliseconds
+Minimum amount of time (in milliseconds) OpenOCD should wait
+after asserting nTRST (active-low JTAG TAP reset) before
+allowing it to be deasserted.
+@end deffn
+
 @deffn {Command} jtag_ntrst_delay milliseconds
 How long (in milliseconds) OpenOCD should wait after deasserting
 nTRST (active-low JTAG TAP reset) before starting new JTAG operations.
@@ -6075,6 +6087,15 @@ TAP @code{post-reset} events are delivered to all TAPs
 with handlers for that event.
 @end deffn
 
+@deffn Command {pathmove} start_state [next_state ...]
+Start by moving to @var{start_state}, which
+must be one of the @emph{stable} states.
+Then, in a series of single state transitions
+(conforming to the JTAG state machine) shift to
+each @var{next_state} in sequence, one per TCK cycle.
+The final state must also be stable.
+@end deffn
+
 @deffn Command {runtest} @var{num_cycles}
 Move to the @sc{run/idle} state, and execute at least
 @var{num_cycles} of the JTAG clock (TCK).
@@ -6102,23 +6123,30 @@ Default is enabled.
 @cindex TAP state names
 
 The @var{tap_state} names used by OpenOCD in the @command{drscan},
-and @command{irscan} commands are:
+@command{irscan}, and @command{pathmove} commands are the same
+as those used in SVF boundary scan documents, except that some
+versions of SVF use @sc{idle} instead of @sc{run/idle}.
 
 @itemize @bullet
-@item @b{RESET} ... acts as if TRST were pulsed
-@item @b{RUN/IDLE} ... don't assume this always means IDLE
+@item @b{RESET} ... @emph{stable} (with TMS high);
+acts as if TRST were pulsed
+@item @b{RUN/IDLE} ... @emph{stable}; don't assume this always means IDLE
 @item @b{DRSELECT}
 @item @b{DRCAPTURE}
-@item @b{DRSHIFT} ... TDI/TDO shifting through the data register
+@item @b{DRSHIFT} ... @emph{stable}; TDI/TDO shifting
+through the data register
 @item @b{DREXIT1}
-@item @b{DRPAUSE} ... data register ready for update or more shifting
+@item @b{DRPAUSE} ... @emph{stable}; data register ready
+for update or more shifting
 @item @b{DREXIT2}
 @item @b{DRUPDATE}
 @item @b{IRSELECT}
 @item @b{IRCAPTURE}
-@item @b{IRSHIFT} ... TDI/TDO shifting through the instruction register
+@item @b{IRSHIFT} ... @emph{stable}; TDI/TDO shifting
+through the instruction register
 @item @b{IREXIT1}
-@item @b{IRPAUSE} ... instruction register ready for update or more shifting
+@item @b{IRPAUSE} ... @emph{stable}; instruction register ready
+for update or more shifting
 @item @b{IREXIT2}
 @item @b{IRUPDATE}
 @end itemize
index b12d02bbe8ebd84719e3872c4c49195eedd58e5c..2c909729f5a70b8d4fec796cf2046285a51aeea3 100644 (file)
@@ -291,59 +291,10 @@ proc ocd_process_reset_inner { MODE } {
        }
 }
 
-# stubs for targets scripts that do not have production procedure
-proc production_info {} {
-       return "Imagine an explanation here..."
-}
-add_help_text production_info "Displays information on production procedure for target script. Implement this procedure in target script."
-
-proc production {firmwarefile serialnumber} {
-       puts "Imagine production procedure running successfully. Programmed $firmwarefile with serial number $serialnumber"
-}
-
-add_help_text production "<serialnumber> - Runs production procedure. Throws exception if procedure failed. Prints progress messages. Implement this procedure in the target script."
-
-proc production_test {} {
-       puts "Imagine nifty test procedure having run to completion here."
-}
-add_help_text production_test "Runs test procedure. Throws exception if procedure failed. Prints progress messages. Implement in target script."
-
-add_help_text cpu "<name> - prints out target options and a comment on CPU which matches name"
-
-# A list of names of CPU and options required
-set ocd_cpu_list {
-       {
-               name IXP42x
-               options {xscale -variant IXP42x}
-               comment {IXP42x cpu}
-       }
-       {
-               name arm7
-               options {arm7tdmi -variant arm7tdmi}
-               comment {vanilla ARM7}
-       }
-}
-
-# Invoked from Tcl code
-proc ocd_cpu {args} {
-       set name $args
-       set result ""
-       global ocd_cpu_list
-       foreach a [lsort $ocd_cpu_list] {
-               if {[string length $args]==0||[string first [string toupper $name] [string toupper "$a(name)$a(options)$a(comment)"]]!=-1} {
-                       lappend result $a
-               }
-       }
-       return $result
-}
+#########
 
-proc cpu {args} {
-    #     0123456789012345678901234567890123456789012345678901234567890123456789
-       puts "CPU                 Options                                 Comment"
-       foreach a [lsort [ocd_cpu $args]] {
-               puts [format "%-20s%-40s%s" $a(name) $a(options) $a(comment)]
-       }
-}
+# REVISIT power_restore, power_dropout, srst_deasserted, srst_asserted
+# are currently neither documented nor supported except on ZY1000.
 
 proc power_restore {} {
        puts "Sensed power restore."
@@ -366,6 +317,8 @@ proc srst_asserted {} {
        puts "Sensed nSRST asserted."
 }
 
+#########
+
 # catch any exceptions, capture output and return output
 proc capture_catch {a} {
        catch {

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)