X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=doc%2Fopenocd.texi;h=aa0bb5d3773b53d7ba156426d9e18449a0243d46;hb=6adc1ced89ddcee92de2597229c7dbb654f53137;hp=a2bcaf8507801886cc26dff1ed3688a5ba42a16a;hpb=1f3ca0b5b81d9f9e4565cf177797a17ad37ef2c3;p=openocd.git diff --git a/doc/openocd.texi b/doc/openocd.texi index a2bcaf8507..aa0bb5d377 100644 --- a/doc/openocd.texi +++ b/doc/openocd.texi @@ -79,6 +79,7 @@ Free Documentation License''. * Architecture and Core Commands:: Architecture and Core Commands * JTAG Commands:: JTAG Commands * Boundary Scan Commands:: Boundary Scan Commands +* Utility Commands:: Utility Commands * TFTP:: TFTP * GDB and OpenOCD:: Using GDB and OpenOCD * Tcl Scripting API:: Tcl Scripting API @@ -3044,11 +3045,11 @@ The vendor ID and product ID of the device. Manually sets the stlink api used, valid options are 1 or 2. (@b{STLINK Only}). @end deffn -@deffn {Config Command} {trace} output_file_path source_clock_hz -Enable SWO tracing (if supported), trace data is appended to the specified -output file and the file is created if it does not exist. The source clock -rate for the trace port must be specified, this is typically the CPU clock -rate. +@deffn {Config Command} {trace} source_clock_hz [output_file_path] +Enable SWO tracing (if supported). The source clock rate for the +trace port must be specified, this is typically the CPU clock rate. If +the optional output file is specified then raw trace data is appended +to the file, and the file is created if it does not exist. @end deffn @end deffn @@ -7926,6 +7927,53 @@ If @emph{xsvfdump} shows a file is using those opcodes, it probably will not be usable with other XSVF tools. +@node Utility Commands +@chapter Utility Commands +@cindex Utility Commands + +@section RAM testing +@cindex RAM testing + +There is often a need to stress-test random access memory (RAM) for +errors. OpenOCD comes with a Tcl implementation of well-known memory +testing procedures allowing to detect all sorts of issues with +electrical wiring, defective chips, PCB layout and other common +hardware problems. + +To use them you usually need to initialise your RAM controller first, +consult your SoC's documentation to get the recommended list of +register operations and translate them to the corresponding +@command{mww}/@command{mwb} commands. + +Load the memory testing functions with + +@example +source [find tools/memtest.tcl] +@end example + +to get access to the following facilities: + +@deffn Command {memTestDataBus} address +Test the data bus wiring in a memory region by performing a walking +1's test at a fixed address within that region. +@end deffn + +@deffn Command {memTestAddressBus} baseaddress size +Perform a walking 1's test on the relevant bits of the address and +check for aliasing. This test will find single-bit address failures +such as stuck-high, stuck-low, and shorted pins. +@end deffn + +@deffn Command {memTestDevice} baseaddress size +Test the integrity of a physical memory device by performing an +increment/decrement test over the entire region. In the process every +storage bit in the device is tested as zero and as one. +@end deffn + +@deffn Command {runAllMemTests} baseaddress size +Run all of the above tests over a specified memory region. +@end deffn + @node TFTP @chapter TFTP @cindex TFTP