50 LOG_ERROR(
"timeout waiting for ITM_TCR_BUSY_BIT");
65 for (
unsigned int i = 0; i < 8; i++) {
131 .handler = handle_itm_port_command,
133 .help =
"Enable or disable ITM stimulus port",
134 .usage =
"<port> (0|1|on|off)",
138 .handler = handle_itm_ports_command,
140 .help =
"Enable or disable all ITM stimulus ports",
141 .usage =
"(0|1|on|off)",
150 .help =
"itm command group",
static struct armv7m_common * target_to_armv7m(struct target *target)
COMMAND_HANDLER(handle_itm_port_command)
const struct command_registration armv7m_trace_command_handlers[]
static const struct command_registration itm_command_handlers[]
int armv7m_trace_itm_config(struct target *target)
Configure hardware accordingly to the current ITM target settings.
Holds the interface to ITM and DWT configuration functions.
#define CMD_ARGV
Use this macro to access the arguments for the command being handled, rather than accessing the varia...
#define COMMAND_PARSE_ON_OFF(in, out)
parses an on/off command argument
#define ERROR_COMMAND_SYNTAX_ERROR
#define CMD_ARGC
Use this macro to access the number of arguments for the command being handled, rather than accessing...
#define COMMAND_PARSE_NUMBER(type, in, out)
parses the string in into out as a type, or prints a command error and passes the error code to the c...
#define CMD_CTX
Use this macro to access the context of the command being handled, rather than accessing the variable...
#define COMMAND_REGISTRATION_DONE
Use this as the last entry in an array of command_registration records.
#define ITM_TCR_ITMENA_BIT
#define LOG_ERROR(expr ...)
struct armv7m_trace_config trace_config
uint32_t itm_ter[8]
Bitmask of currently enabled ITM stimuli.
unsigned int trace_bus_id
Identifier for multi-source trace stream formatting.
bool itm_diff_timestamps
Enable differential timestamps.
bool itm_async_timestamps
Enable async timestamps model.
bool itm_synchro_packets
Enable synchronisation packet transmission (for sync port only)
enum itm_ts_prescaler itm_ts_prescale
Prescaler for the timestamp counter.
int target_write_u32(struct target *target, target_addr_t address, uint32_t value)
int target_read_u32(struct target *target, target_addr_t address, uint32_t *value)
struct target * get_current_target(struct command_context *cmd_ctx)