diff options
author | Tarek BOCHKATI <tarek.bouchkati@gmail.com> | 2020-06-08 23:47:46 +0100 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2020-11-07 20:49:57 +0000 |
commit | 9cce6b3c763e883faea545b9ffbda19ec8164804 (patch) | |
tree | 2dd4f7eec1c2de9080c7ea0816c8444d4e32b068 /doc | |
parent | 7e6556b3cad8c82d4670a68cd49756dabb8c4729 (diff) | |
download | riscv-openocd-9cce6b3c763e883faea545b9ffbda19ec8164804.zip riscv-openocd-9cce6b3c763e883faea545b9ffbda19ec8164804.tar.gz riscv-openocd-9cce6b3c763e883faea545b9ffbda19ec8164804.tar.bz2 |
armv7m: add a TCP channel to stream captured trace
When trace capturing the trace is enabled using 'tpiu_config internal'
(via the internal mode), OpenOCD can collect the trace buffers then append
it to a specified file or named pipe and propagate the trace to 'tcl_trace'
command.
This change is allowing OpenOCD to stream the captured trace over TCP.
When using this configuration OpenOCD acts like a server and multiple
clients can connect and receive the captured trace.
Example on STM32F7 running at 216MHz:
itm port 0 on
tpiu config internal :3344 uart off 216000000
Change-Id: Idea43e7e26e87b98a33da7fb9acf7ea50fe3b345
Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-on: http://openocd.zylin.com/5345
Tested-by: jenkins
Reviewed-by: Karl Palsson <karlp@tweak.net.au>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/openocd.texi | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/doc/openocd.texi b/doc/openocd.texi index e6a1467..b01e5a6 100644 --- a/doc/openocd.texi +++ b/doc/openocd.texi @@ -9206,7 +9206,7 @@ Selects whether interrupts will be processed when single stepping @cindex ITM @cindex ETM -@deffn Command {tpiu config} (@option{disable} | ((@option{external} | @option{internal (@var{filename} | -)}) @ +@deffn Command {tpiu config} (@option{disable} | ((@option{external} | @option{internal (@var{filename} | @var{:port} | -)}) @ (@option{sync @var{port_width}} | ((@option{manchester} | @option{uart}) @var{formatter_enable})) @ @var{TRACECLKIN_freq} [@var{trace_freq}])) @@ -9226,23 +9226,28 @@ Command options: @itemize @minus @item @option{disable} disable TPIU handling; @item @option{external} configure TPIU to let user capture trace -output externally (with an additional UART or logic analyzer hardware); -@item @option{internal @var{filename}} configure TPIU and debug adapter to -gather trace data and append it to @var{filename} (which can be -either a regular file or a named pipe); -@item @option{internal -} configure TPIU and debug adapter to -gather trace data, but not write to any file. Useful in conjunction with the @command{tcl_trace} command; +output externally (with an additional UART or logic analyzer hardware). +@item @option{internal (@var{filename} | @var{:port} | -)} configure TPIU and debug adapter to +gather trace data then: + +@itemize @minus +@item append it to a regular file or a named pipe if @var{filename} is specified. +@item listen to a TCP/IP port if @var{:port} is specified, then broadcast the trace data over this port. +@item if '-' is specified, OpenOCD will forward trace data to @command{tcl_trace} command. +@*@b{Note:} while broadcasting to file or TCP, the forwarding to @command{tcl_trace} will remain active. +@end itemize + @item @option{sync @var{port_width}} use synchronous parallel trace output -mode, and set port width to @var{port_width}; +mode, and set port width to @var{port_width}. @item @option{manchester} use asynchronous SWO mode with Manchester -coding; +coding. @item @option{uart} use asynchronous SWO mode with NRZ (same as -regular UART 8N1) coding; +regular UART 8N1) coding. @item @var{formatter_enable} is @option{on} or @option{off} to enable or disable TPIU formatter which needs to be used when both ITM and ETM -data is to be output via SWO; +data is to be output via SWO. @item @var{TRACECLKIN_freq} this should be specified to match target's -current TRACECLKIN frequency (usually the same as HCLK); +current TRACECLKIN frequency (usually the same as HCLK). @item @var{trace_freq} trace port frequency. Can be omitted in internal mode to let the adapter driver select the maximum supported rate automatically. |