doc updates to match "help" better
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>__archive__
parent
dd54981702
commit
bc792857a5
|
@ -2221,6 +2221,12 @@ needing to cope with both architecture and board specific constraints.
|
||||||
|
|
||||||
@section Commands for Handling Resets
|
@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
|
@deffn {Command} jtag_nsrst_delay milliseconds
|
||||||
How long (in milliseconds) OpenOCD should wait after deasserting
|
How long (in milliseconds) OpenOCD should wait after deasserting
|
||||||
nSRST (active-low system reset) before starting new JTAG operations.
|
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.
|
probably have hardware debouncing, implying you should use this.
|
||||||
@end deffn
|
@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
|
@deffn {Command} jtag_ntrst_delay milliseconds
|
||||||
How long (in milliseconds) OpenOCD should wait after deasserting
|
How long (in milliseconds) OpenOCD should wait after deasserting
|
||||||
nTRST (active-low JTAG TAP reset) before starting new JTAG operations.
|
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.
|
with handlers for that event.
|
||||||
@end deffn
|
@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}
|
@deffn Command {runtest} @var{num_cycles}
|
||||||
Move to the @sc{run/idle} state, and execute at least
|
Move to the @sc{run/idle} state, and execute at least
|
||||||
@var{num_cycles} of the JTAG clock (TCK).
|
@var{num_cycles} of the JTAG clock (TCK).
|
||||||
|
@ -6102,23 +6123,30 @@ Default is enabled.
|
||||||
@cindex TAP state names
|
@cindex TAP state names
|
||||||
|
|
||||||
The @var{tap_state} names used by OpenOCD in the @command{drscan},
|
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
|
@itemize @bullet
|
||||||
@item @b{RESET} ... acts as if TRST were pulsed
|
@item @b{RESET} ... @emph{stable} (with TMS high);
|
||||||
@item @b{RUN/IDLE} ... don't assume this always means IDLE
|
acts as if TRST were pulsed
|
||||||
|
@item @b{RUN/IDLE} ... @emph{stable}; don't assume this always means IDLE
|
||||||
@item @b{DRSELECT}
|
@item @b{DRSELECT}
|
||||||
@item @b{DRCAPTURE}
|
@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{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{DREXIT2}
|
||||||
@item @b{DRUPDATE}
|
@item @b{DRUPDATE}
|
||||||
@item @b{IRSELECT}
|
@item @b{IRSELECT}
|
||||||
@item @b{IRCAPTURE}
|
@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{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{IREXIT2}
|
||||||
@item @b{IRUPDATE}
|
@item @b{IRUPDATE}
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
|
@ -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} {
|
# REVISIT power_restore, power_dropout, srst_deasserted, srst_asserted
|
||||||
puts "Imagine production procedure running successfully. Programmed $firmwarefile with serial number $serialnumber"
|
# are currently neither documented nor supported except on ZY1000.
|
||||||
}
|
|
||||||
|
|
||||||
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)]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
proc power_restore {} {
|
proc power_restore {} {
|
||||||
puts "Sensed power restore."
|
puts "Sensed power restore."
|
||||||
|
@ -366,6 +317,8 @@ proc srst_asserted {} {
|
||||||
puts "Sensed nSRST asserted."
|
puts "Sensed nSRST asserted."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#########
|
||||||
|
|
||||||
# catch any exceptions, capture output and return output
|
# catch any exceptions, capture output and return output
|
||||||
proc capture_catch {a} {
|
proc capture_catch {a} {
|
||||||
catch {
|
catch {
|
||||||
|
|
Loading…
Reference in New Issue