Add various commands that had not previously been documented, which
were found courtesy of "grep -r register_command":

 - exit
 - lpc2000 part_id
 - str7x disable_jtag
 - test_image
 - trace history
 - trace point
 - version
 - virt2phys
 - most of the optional ioutil commands

The largest changes by volume were to describe the tracing support; then
the ioutil stuff.  There are a few more undocumented commands using that
registration scheme, mostly dongle-specific commands.  (Vendors, chip in!)
---
 doc/openocd.texi |  162 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 150 insertions(+), 12 deletions(-)

Add various commands that had not previously been documented, which
were found courtesy of "grep -r register_command":

 - exit
 - lpc2000 part_id
 - str7x disable_jtag
 - test_image
 - trace history
 - trace point
 - version
 - virt2phys
 - most of the optional ioutil commands

The largest changes by volume were to describe the tracing support; then
the ioutil stuff.  There are a few more undocumented commands using that
registration scheme, mostly dongle-specific commands.  (Vendors, chip in!)
---
 doc/openocd.texi |  164 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 152 insertions(+), 12 deletions(-)

--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -987,7 +987,9 @@ that the @code{reset-init} event handler
 Likewise, the @command{arm9tdmi vector_catch} command (or
 its @command{xscale vector_catch} sibling) can be a timesaver
 during some debug sessions, but don't make everyone use that either.
-Keep those kinds of debugging aids in your user config file.
+Keep those kinds of debugging aids in your user config file,
+along with messaging and tracing setup.
+(@xref{Software Debug Messages and Tracing}.)
 
 TCP/IP port configuration is another example of something which
 is environment-specific, and should only appear in
@@ -1360,6 +1362,7 @@ if @{ [info exists CPUTAPID ] @} @{
    set _CPUTAPID 0x3f0f0f0f
 @}
 @end example
+...@c but 0x3f0f0f0f is for an str73x part ...
 
 @emph{Remember:} Board config files may include multiple target
 config files, or the same target file multiple times
@@ -1473,7 +1476,7 @@ Some ARM cores are equipped with trace s
 examination of the instruction and data bus activity.  Trace
 activity is controlled through an ``Embedded Trace Module'' (ETM)
 on one of the core's scan chains.  The ETM emits voluminous data
-through a ``trace port''.  (@xref{ARM Tracing}.)
+through a ``trace port''.  (@xref{ARM Hardware Tracing}.)
 If you are using an external trace port,
 configure it in your board config file.
 If you are using an on-chip ``Embedded Trace Buffer'' (ETB),
@@ -3359,6 +3362,7 @@ wide on a sixteen bit bus:
 flash bank cfi 0x00000000 0x01000000 2 2 $_TARGETNAME
 flash bank cfi 0x01000000 0x01000000 2 2 $_TARGETNAME
 @end example
+...@c "cfi part_id" disabled
 @end deffn
 
 @subsection Internal Flash (Microcontrollers)
@@ -3521,6 +3525,11 @@ LPC flashes don't require the chip and b
 flash bank lpc2000 0x0 0x7d000 0 0 $_TARGETNAME \
       lpc2000_v2 14765 calc_checksum
 @end example
+
+...@deffn {Command} {lpc2000 part_id} bank
+Displays the four byte part identifier associated with
+the specified flash @var{bank}.
+...@end deffn
 @end deffn
 
 @deffn {Flash Driver} lpc288x
@@ -3625,6 +3634,11 @@ which is either @code{STR71x}, @code{STR
 @example
 flash bank str7x 0x40000000 0x00040000 0 0 $_TARGETNAME STR71x
 @end example
+
+...@deffn Command {str7x disable_jtag} bank
+Activate the Debug/Readout protection mechanism
+for the specified flash bank.
+...@end deffn
 @end deffn
 
 @deffn {Flash Driver} str9x
@@ -4250,6 +4264,10 @@ port is 5555.
 
 @section Daemon Commands
 
+...@deffn {Command} exit
+Exits the current telnet session.
+...@end deffn
+
 @deffn Command sleep msec [...@option{busy}]
 Wait for at least @var{msec} milliseconds before resuming.
 If @option{busy} is passed, busy-wait instead of sleeping.
@@ -4406,16 +4424,62 @@ state.
 
 These commands are available when
 OpenOCD is built with @option{--enable-ioutil}.
-They are mainly useful on embedded targets;
-PC type hosts have complementary tools.
+They are mainly useful on embedded targets,
+notably the ZY1000.
+Hosts with operating systems have complementary tools.
 
 @emph{Note:} there are several more such commands.
 
+...@deffn Command append_file filename [string]*
+Appends the @var{string} parameters to
+the text file @file{filename}.
+Each string except the last one is followed by one space.
+The last string is followed by a newline.
+...@end deffn
+
+...@deffn Command cat filename
+Reads and displays the text file @file{filename}.
+...@end deffn
+
+...@deffn Command cp src_filename dest_filename
+Copies contents from the file @file{src_filename}
+into @file{dest_filename}.
+...@end deffn
+
+...@deffn Command ip
+...@emph{no description provided.}
+...@end deffn
+
+...@deffn Command ls
+...@emph{no description provided.}
+...@end deffn
+
+...@deffn Command mac
+...@emph{no description provided.}
+...@end deffn
+
 @deffn Command  meminfo
 Display available RAM memory on OpenOCD host.
 Used in OpenOCD regression testing scripts.
 @end deffn
 
+...@deffn Command peek
+...@emph{no description provided.}
+...@end deffn
+
+...@deffn Command poke
+...@emph{no description provided.}
+...@end deffn
+
+...@deffn Command rm filename
+...@c "rm" has both normal and Jim-level versions??
+Unlinks the file @file{filename}.
+...@end deffn
+
+...@deffn Command trunc filename
+Removes all data in the file @file{filename}.
+...@end deffn
+
 @anchor{Memory access}
 @section Memory access commands
 @cindex memory access
@@ -4487,6 +4551,14 @@ The file format may optionally be specif
 (@option{bin}, @option{ihex}, or @option{elf})
 @end deffn
 
+...@deffn Command {test_image} filename [address [...@option{bin}|@option{ihex}|@option{elf}]]
+Displays image section sizes and addresses
+as if @var{filename} were loaded into target memory
+starting at @var{address} (defaults to zero).
+The file format may optionally be specified
+(@option{bin}, @option{ihex}, or @option{elf})
+...@end deffn
+
 @deffn Command {verify_image} filename address [...@option{bin}|@option{ihex}|@option{elf}]
 Verify @var{filename} against target memory starting at @var{address}.
 The file format may optionally be specified
@@ -4535,14 +4607,23 @@ using @var{mask} to mark ``don't care'' 
 @end deffn
 
 @section Misc Commands
-...@cindex profiling
 
+...@cindex profiling
 @deffn Command {profile} seconds filename
 Profiling samples the CPU's program counter as quickly as possible,
 which is useful for non-intrusive stochastic profiling.
 Saves up to 10000 sampines in @file{filename} using ``gmon.out'' format.
 @end deffn
 
+...@deffn Command {version}
+Displays a string identifying the version of this OpenOCD server.
+...@end deffn
+
+...@deffn Command {virt2phys} virtual_address
+Requests the current target to map the specified @var{virtual_address}
+to its corresponding physical address, and displays the result.
+...@end deffn
+
 @node Architecture and Core Commands
 @chapter Architecture and Core Commands
 @cindex Architecture Specific Commands
@@ -4553,8 +4634,9 @@ OpenOCD packages most such operations in
 Some of those operations don't fit well in that framework, so they are
 exposed here as architecture or implementation (core) specific commands.
 
-...@anchor{arm Tracing}
-...@section ARM Tracing
+...@anchor{arm Hardware Tracing}
+...@section ARM Hardware Tracing
+...@cindex tracing
 @cindex ETM
 @cindex ETB
 
@@ -5147,30 +5229,88 @@ If @var{value} is defined, first assigns
 Control masking (disabling) interrupts during target step/resume.
 @end deffn
 
-...@section Target DCC Requests
+...@anchor{software Debug Messages and Tracing}
+...@section Software Debug Messages and Tracing
 @cindex Linux-ARM DCC support
+...@cindex tracing
 @cindex libdcc
 @cindex DCC
-OpenOCD can handle certain target requests; currently debugmsgs
+OpenOCD can process certain requests from target software.  Currently
 @command{target_request debugmsgs}
-are only supported for arm7_9 and cortex_m3.
+is supported only for @option{arm7_9} and @option{cortex_m3} cores.
+These messages are received as part of target polling, so
+you need to have @command{poll on} active to receive them.
+They are intrusive in that they will affect program execution
+times.  If that is a problem, @pxref{ARM Hardware Tracing}.
+
+See @file{libdcc} in the contrib dir for more details.
+In addition to sending strings, characters, and
+arrays of various size integers from the target,
+...@file{libdcc} also exports a software trace point mechanism.
+The target being debugged may
+issue trace messages which include a 24-bit @dfn{trace point} number.
+Trace point support includes two distinct mechanisms,
+each supported by a command:
+
+...@itemize
+...@item @emph{History} ... A circular buffer of trace points
+can be set up, and then displayed at any time.
+This tracks where code has been, which can be invaluable in
+finding out how some fault was triggered.
+
+The buffer may overflow, since it collects records continuously.
+It may be useful to use some of the 24 bits to represent a
+particular event, and other bits to hold data.
+
+...@item @emph{Counting} ... An array of counters can be set up,
+and then displayed at any time.
+This can help establish code coverage and identify hot spots.
+
+The array of counters is directly indexed by the trace point
+number, so trace points with higher numbers are not counted.
+...@end itemize
 
-See libdcc in the contrib dir for more details.
 Linux-ARM kernels have a ``Kernel low-level debugging
 via EmbeddedICE DCC channel'' option (CONFIG_DEBUG_ICEDCC,
 depends on CONFIG_DEBUG_LL) which uses this mechanism to
 deliver messages before a serial console can be activated.
+This is not the same format used by @file{libdcc}.
+Other software, such as the U-Boot boot loader, sometimes
+does the same thing.
 
 @deffn Command {target_request debugmsgs} [...@option{enable}|@option{disable}|@option{charmsg}]
 Displays current handling of target DCC message requests.
 These messages may be sent to the debugger while the target is running.
 The optional @option{enable} and @option{charmsg} parameters
 both enable the messages, while @option{disable} disables them.
+
 With @option{charmsg} the DCC words each contain one character,
 as used by Linux with CONFIG_DEBUG_ICEDCC;
 otherwise the libdcc format is used.
 @end deffn
 
+...@deffn Command {trace history} (@option{clear}|count)
+With no parameter, displays all the trace points that have triggered
+in the order they triggered.
+With the parameter @option{clear}, erases all current trace history records.
+With a @var{count} parameter, allocates space for that many
+history records.
+...@end deffn
+
+...@deffn Command {trace point} (@option{clear}|identifier)
+With no parameter, displays all trace point identifiers and how many times
+they have been triggered.
+With the parameter @option{clear}, erases all current trace point counters.
+With a numeric @var{identifier} parameter, creates a new a trace point counter
+and associates it with that identifier.
+
+...@emph{important:}  The identifier and the trace point number
+are not related except by this command.
+These trace point numbers always start at zero (from server startup,
+or after @command{trace point clear}) and count up from there.
+...@end deffn
+
+
 @node JTAG Commands
 @chapter JTAG Commands
 @cindex JTAG Commands
@@ -5622,10 +5762,10 @@ become much shorter.
 @item @b{arm7_9 fast_writes}
 @cindex arm7_9 fast_writes
 @*Use @command{arm7_9 fast_memory_access} instead.
+...@xref{arm7_9 fast_memory_access}.
 @item @b{endstate}
 @cindex endstate
 @*An buggy old command that would not really work since background polling would wipe out the global endstate
-...@xref{arm7_9 fast_memory_access}.
 @item @b{arm7_9 force_hw_bkpts}
 @*Use @command{gdb_breakpoint_override} instead. Note that GDB will use hardware breakpoints
 for flash if the GDB memory map has been set up(default when flash is declared in
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to