#ifndef OPENOCD_TARGET_ARMV7M_TRACE_H
#define OPENOCD_TARGET_ARMV7M_TRACE_H
+#include <server/server.h>
#include <target/target.h>
#include <command.h>
TRACE_CONFIG_TYPE_INTERNAL /**< trace output is handled by OpenOCD adapter driver */
};
+enum trace_internal_channel {
+ TRACE_INTERNAL_CHANNEL_TCL_ONLY, /** trace data is sent only to 'tcl_trace' */
+ TRACE_INTERNAL_CHANNEL_FILE, /** trace data is appended to a file */
+ TRACE_INTERNAL_CHANNEL_TCP /** trace data is appended to a TCP/IP port*/
+};
+
enum tpiu_pin_protocol {
- TPIU_PIN_PROTOCOL_SYNC, /**< synchronous trace output */
+ TPIU_PIN_PROTOCOL_SYNC, /**< synchronous trace output */
TPIU_PIN_PROTOCOL_ASYNC_MANCHESTER, /**< asynchronous output with Manchester coding */
TPIU_PIN_PROTOCOL_ASYNC_UART /**< asynchronous output with NRZ coding */
};
/** Currently active trace capture mode */
enum trace_config_type config_type;
+ /** The used channel when internal mode is selected */
+ enum trace_internal_channel internal_channel;
+
/** Currently active trace output mode */
enum tpiu_pin_protocol pin_protocol;
/** TPIU formatter enable/disable (in async mode) */
unsigned int traceclkin_freq;
/** Current frequency of trace port */
unsigned int trace_freq;
- /** Handle to output trace data in INTERNAL capture mode */
+ /** Handle to output trace data in INTERNAL capture mode via file */
FILE *trace_file;
+ /** Handle to output trace data in INTERNAL capture mode via tcp */
+ struct service *trace_service;
};
extern const struct command_registration armv7m_trace_command_handlers[];