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>
This commit is contained in:
committed by
Antonio Borneo
parent
7e6556b3ca
commit
9cce6b3c76
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user