X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Ftarget%2Foocd_trace.c;h=09beba95bd6e4353af612ad5101d706fe154b8d6;hb=0c2f8b6eb8f4b379aa0c78caba73ec1ebaae8414;hp=b9615bc5cd438bc8dc38abbd72f22b8b1e0a034b;hpb=6f929dbd93e1b2c0373f389060bf64e60e8194ab;p=fw%2Fopenocd diff --git a/src/target/oocd_trace.c b/src/target/oocd_trace.c index b9615bc5c..09beba95b 100644 --- a/src/target/oocd_trace.c +++ b/src/target/oocd_trace.c @@ -46,7 +46,7 @@ static int oocd_trace_read_reg(struct oocd_trace *oocd_trace, int reg, uint32_t bytes_to_read -= bytes_read; } - LOG_DEBUG("reg #%i: 0x%8.8x\n", reg, *value); + LOG_DEBUG("reg #%i: 0x%8.8x", reg, *value); return ERROR_OK; } @@ -63,7 +63,7 @@ static int oocd_trace_write_reg(struct oocd_trace *oocd_trace, int reg, uint32_t data[4] = (value & 0xff000000) >> 24; bytes_written = write(oocd_trace->tty_fd, data, 5); - LOG_DEBUG("reg #%i: 0x%8.8x\n", reg, value); + LOG_DEBUG("reg #%i: 0x%8.8x", reg, value); return ERROR_OK; } @@ -136,7 +136,7 @@ static int oocd_trace_init(struct etm_context *etm_ctx) * read up any leftover characters to ensure communication is in sync */ while ((bytes_read = read(oocd_trace->tty_fd, trash, sizeof(trash))) > 0) { - LOG_DEBUG("%zi bytes read\n", bytes_read); + LOG_DEBUG("%zi bytes read", bytes_read); }; return ERROR_OK; @@ -238,21 +238,21 @@ static int oocd_trace_start_capture(struct etm_context *etm_ctx) uint32_t control = 0x1; /* 0x1: enabled */ uint32_t trigger_count; - if (((etm_ctx->portmode & ETM_PORT_MODE_MASK) != ETM_PORT_NORMAL) - || ((etm_ctx->portmode & ETM_PORT_WIDTH_MASK) != ETM_PORT_4BIT)) + if (((etm_ctx->control & ETM_PORT_MODE_MASK) != ETM_PORT_NORMAL) + || ((etm_ctx->control & ETM_PORT_WIDTH_MASK) != ETM_PORT_4BIT)) { LOG_DEBUG("OpenOCD + trace only supports normal 4-bit ETM mode"); return ERROR_ETM_PORTMODE_NOT_SUPPORTED; } - if ((etm_ctx->portmode & ETM_PORT_CLOCK_MASK) == ETM_PORT_HALF_CLOCK) + if ((etm_ctx->control & ETM_PORT_CLOCK_MASK) == ETM_PORT_HALF_CLOCK) { control |= 0x2; /* half rate clock, capture at twice the clock rate */ } /* OpenOCD + trace holds up to 16 million samples, * but trigger counts is set in multiples of 16 */ - trigger_count = (1048576 * etm_ctx->trigger_percent) / 100; + trigger_count = (1048576 * /* trigger_percent */ 50) / 100; /* capturing always starts at address zero */ oocd_trace_write_reg(oocd_trace, OOCD_TRACE_ADDRESS, 0x0); @@ -284,8 +284,7 @@ COMMAND_HANDLER(handle_oocd_trace_config_command) if (CMD_ARGC != 2) { - LOG_ERROR("incomplete 'oocd_trace config ' command"); - return ERROR_FAIL; + return ERROR_COMMAND_SYNTAX_ERROR; } target = get_current_target(CMD_CTX); @@ -398,20 +397,22 @@ COMMAND_HANDLER(handle_oocd_trace_resync_command) static const struct command_registration oocd_trace_all_command_handlers[] = { { .name = "config", - .handler = &handle_oocd_trace_config_command, + .handler = handle_oocd_trace_config_command, .mode = COMMAND_CONFIG, - .usage = "", + .usage = " ", }, { .name = "status", - .handler = &handle_oocd_trace_status_command, + .handler = handle_oocd_trace_status_command, .mode = COMMAND_EXEC, + .usage = "", .help = "display OpenOCD + trace status", }, { .name = "resync", .handler = handle_oocd_trace_resync_command, .mode = COMMAND_EXEC, + .usage = "", .help = "resync OpenOCD + trace capture clock", }, COMMAND_REGISTRATION_DONE @@ -421,6 +422,7 @@ static const struct command_registration oocd_trace_command_handlers[] = { .name = "oocd_trace", .mode = COMMAND_ANY, .help = "OpenOCD trace capture driver command group", + .usage = "", .chain = oocd_trace_all_command_handlers, }, COMMAND_REGISTRATION_DONE