Andreas Fritiofson <andreas.fritiofson@gmail.com> UTF8 fixes
[openocd.git] / src / target / target.c
index 097d7130c24575e66b67d82f6e9a917f6c6ef61b..670b4ba8b5921e3230e48cddc34ab5562fd82fd7 100644 (file)
@@ -2,7 +2,7 @@
  *   Copyright (C) 2005 by Dominic Rath                                    *
  *   Dominic.Rath@gmx.de                                                   *
  *                                                                         *
- *   Copyright (C) 2007,2008 Øyvind Harboe                                 *
+ *   Copyright (C) 2007,2008 Øyvind Harboe                                 *
  *   oyvind.harboe@zylin.com                                               *
  *                                                                         *
  *   Copyright (C) 2008, Duane Ellis                                       *
@@ -144,7 +144,7 @@ const char *target_strerror_safe(int err)
        const Jim_Nvp *n;
 
        n = Jim_Nvp_value2name_simple(nvp_error_target, err);
-       if (n->name == NULL){
+       if (n->name == NULL) {
                return "unknown";
        } else {
                return n->name;
@@ -237,6 +237,18 @@ const Jim_Nvp nvp_reset_modes[] = {
        { .name = NULL     , .value = -1 },
 };
 
+const char *
+target_state_name( target_t *t )
+{
+       const char *cp;
+       cp = Jim_Nvp_value2name_simple(nvp_target_state, t->state)->name;
+       if( !cp ){
+               LOG_ERROR("Invalid target state: %d", (int)(t->state));
+               cp = "(*BUG*unknown*BUG*)";
+       }
+       return cp;
+}
+
 static int max_target_number(void)
 {
        target_t *t;
@@ -244,8 +256,8 @@ static int max_target_number(void)
 
        x = -1;
        t = all_targets;
-       while (t){
-               if (x < t->target_number){
+       while (t) {
+               if (x < t->target_number) {
                        x = (t->target_number) + 1;
                }
                t = t->next;
@@ -262,8 +274,8 @@ static int new_target_number(void)
        /* number is 0 based */
        x = -1;
        t = all_targets;
-       while (t){
-               if (x < t->target_number){
+       while (t) {
+               if (x < t->target_number) {
                        x = t->target_number;
                }
                t = t->next;
@@ -352,8 +364,8 @@ static target_t *get_target_by_num(int num)
 {
        target_t *target = all_targets;
 
-       while (target){
-               if (target->target_number == num){
+       while (target) {
+               if (target->target_number == num) {
                        return target;
                }
                target = target->next;
@@ -429,7 +441,7 @@ int target_process_reset(struct command_context_s *cmd_ctx, enum target_reset_mo
        int retval;
        Jim_Nvp *n;
        n = Jim_Nvp_value2name_simple(nvp_reset_modes, reset_mode);
-       if (n->name == NULL){
+       if (n->name == NULL) {
                LOG_ERROR("invalid reset mode");
                return ERROR_FAIL;
        }
@@ -969,7 +981,7 @@ int target_alloc_working_area(struct target_s *target, uint32_t size, working_ar
 
                if (free_size < size)
                {
-                       LOG_WARNING("not enough working area available(requested %u, free %u)", 
+                       LOG_WARNING("not enough working area available(requested %u, free %u)",
                                    (unsigned)(size), (unsigned)(free_size));
                        return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
                }
@@ -1085,8 +1097,7 @@ int target_arch_state(struct target_s *target)
                return ERROR_OK;
        }
 
-       LOG_USER("target state: %s",
-                Jim_Nvp_value2name_simple(nvp_target_state,target->state)->name);
+       LOG_USER("target state: %s", target_state_name( target ));
 
        if (target->state != TARGET_HALTED)
                return ERROR_OK;
@@ -1102,7 +1113,7 @@ int target_arch_state(struct target_s *target)
 int target_write_buffer(struct target_s *target, uint32_t address, uint32_t size, uint8_t *buffer)
 {
        int retval;
-       LOG_DEBUG("writing buffer of %i byte at 0x%8.8x", 
+       LOG_DEBUG("writing buffer of %i byte at 0x%8.8x",
                  (int)size, (unsigned)address);
 
        if (!target_was_examined(target))
@@ -1118,8 +1129,8 @@ int target_write_buffer(struct target_s *target, uint32_t address, uint32_t size
        if ((address + size - 1) < address)
        {
                /* GDB can request this when e.g. PC is 0xfffffffc*/
-               LOG_ERROR("address + size wrapped(0x%08x, 0x%08x)", 
-                                 (unsigned)address, 
+               LOG_ERROR("address + size wrapped(0x%08x, 0x%08x)",
+                                 (unsigned)address,
                                  (unsigned)size);
                return ERROR_FAIL;
        }
@@ -1184,7 +1195,7 @@ int target_write_buffer(struct target_s *target, uint32_t address, uint32_t size
 int target_read_buffer(struct target_s *target, uint32_t address, uint32_t size, uint8_t *buffer)
 {
        int retval;
-       LOG_DEBUG("reading buffer of %i byte at 0x%8.8x", 
+       LOG_DEBUG("reading buffer of %i byte at 0x%8.8x",
                          (int)size, (unsigned)address);
 
        if (!target_was_examined(target))
@@ -1200,8 +1211,8 @@ int target_read_buffer(struct target_s *target, uint32_t address, uint32_t size,
        if ((address + size - 1) < address)
        {
                /* GDB can request this when e.g. PC is 0xfffffffc*/
-               LOG_ERROR("address + size wrapped(0x%08" PRIx32 ", 0x%08" PRIx32 ")", 
-                                 address, 
+               LOG_ERROR("address + size wrapped(0x%08" PRIx32 ", 0x%08" PRIx32 ")",
+                                 address,
                                  size);
                return ERROR_FAIL;
        }
@@ -1326,14 +1337,14 @@ int target_read_u32(struct target_s *target, uint32_t address, uint32_t *value)
        if (retval == ERROR_OK)
        {
                *value = target_buffer_get_u32(target, value_buf);
-               LOG_DEBUG("address: 0x%8.8" PRIx32 ", value: 0x%8.8" PRIx32 "", 
-                                 address, 
+               LOG_DEBUG("address: 0x%8.8" PRIx32 ", value: 0x%8.8" PRIx32 "",
+                                 address,
                                  *value);
        }
        else
        {
                *value = 0x0;
-               LOG_DEBUG("address: 0x%8.8" PRIx32 " failed", 
+               LOG_DEBUG("address: 0x%8.8" PRIx32 " failed",
                                  address);
        }
 
@@ -1354,14 +1365,14 @@ int target_read_u16(struct target_s *target, uint32_t address, uint16_t *value)
        if (retval == ERROR_OK)
        {
                *value = target_buffer_get_u16(target, value_buf);
-               LOG_DEBUG("address: 0x%8.8" PRIx32 ", value: 0x%4.4x", 
-                                 address, 
+               LOG_DEBUG("address: 0x%8.8" PRIx32 ", value: 0x%4.4x",
+                                 address,
                                  *value);
        }
        else
        {
                *value = 0x0;
-               LOG_DEBUG("address: 0x%8.8" PRIx32 " failed", 
+               LOG_DEBUG("address: 0x%8.8" PRIx32 " failed",
                                  address);
        }
 
@@ -1379,14 +1390,14 @@ int target_read_u8(struct target_s *target, uint32_t address, uint8_t *value)
 
        if (retval == ERROR_OK)
        {
-               LOG_DEBUG("address: 0x%8.8" PRIx32 ", value: 0x%2.2x", 
-                                 address, 
+               LOG_DEBUG("address: 0x%8.8" PRIx32 ", value: 0x%2.2x",
+                                 address,
                                  *value);
        }
        else
        {
                *value = 0x0;
-               LOG_DEBUG("address: 0x%8.8" PRIx32 " failed", 
+               LOG_DEBUG("address: 0x%8.8" PRIx32 " failed",
                                  address);
        }
 
@@ -1403,8 +1414,8 @@ int target_write_u32(struct target_s *target, uint32_t address, uint32_t value)
                return ERROR_FAIL;
        }
 
-       LOG_DEBUG("address: 0x%8.8" PRIx32 ", value: 0x%8.8" PRIx32 "", 
-                         address, 
+       LOG_DEBUG("address: 0x%8.8" PRIx32 ", value: 0x%8.8" PRIx32 "",
+                         address,
                          value);
 
        target_buffer_set_u32(target, value_buf, value);
@@ -1426,8 +1437,8 @@ int target_write_u16(struct target_s *target, uint32_t address, uint16_t value)
                return ERROR_FAIL;
        }
 
-       LOG_DEBUG("address: 0x%8.8" PRIx32 ", value: 0x%8.8x", 
-                         address, 
+       LOG_DEBUG("address: 0x%8.8" PRIx32 ", value: 0x%8.8x",
+                         address,
                          value);
 
        target_buffer_set_u16(target, value_buf, value);
@@ -1448,7 +1459,7 @@ int target_write_u8(struct target_s *target, uint32_t address, uint8_t value)
                return ERROR_FAIL;
        }
 
-       LOG_DEBUG("address: 0x%8.8" PRIx32 ", value: 0x%2.2x", 
+       LOG_DEBUG("address: 0x%8.8" PRIx32 ", value: 0x%2.2x",
                          address, value);
 
        if ((retval = target_write_memory(target, address, 1, 1, &value)) != ERROR_OK)
@@ -1544,8 +1555,7 @@ DumpTargets:
                char marker = ' ';
 
                if (target->tap->enabled)
-                       state = Jim_Nvp_value2name_simple(nvp_target_state,
-                                       target->state)->name;
+                       state = target_state_name( target );
                else
                        state = "tap-disabled";
 
@@ -1734,12 +1744,12 @@ static int handle_reg_command(struct command_context_s *cmd_ctx, char *cmd, char
                        for (i = 0; i < cache->num_regs; i++)
                        {
                                value = buf_to_str(cache->reg_list[i].value, cache->reg_list[i].size, 16);
-                               command_print(cmd_ctx, "(%i) %s (/%i): 0x%s (dirty: %i, valid: %i)", 
-                                                         count++, 
-                                                         cache->reg_list[i].name, 
+                               command_print(cmd_ctx, "(%i) %s (/%i): 0x%s (dirty: %i, valid: %i)",
+                                                         count++,
+                                                         cache->reg_list[i].name,
                                                          (int)(cache->reg_list[i].size),
-                                                         value, 
-                                                         cache->reg_list[i].dirty, 
+                                                         value,
+                                                         cache->reg_list[i].dirty,
                                                          cache->reg_list[i].valid);
                                free(value);
                        }
@@ -1983,7 +1993,7 @@ static int handle_reset_command(struct command_context_s *cmd_ctx, char *cmd, ch
        {
                const Jim_Nvp *n;
                n = Jim_Nvp_name2value_simple(nvp_reset_modes, args[0]);
-               if ((n->name == NULL) || (n->value == RESET_UNKNOWN)){
+               if ((n->name == NULL) || (n->value == RESET_UNKNOWN)) {
                        return ERROR_COMMAND_SYNTAX_ERROR;
                }
                reset_mode = n->value;
@@ -2029,15 +2039,18 @@ static int handle_step_command(struct command_context_s *cmd_ctx, char *cmd, cha
         * with one argument addr = args[0],
         * handle breakpoints, debugging */
        uint32_t addr = 0;
+       int current_pc = 1;
        if (argc == 1)
        {
                int retval = parse_u32(args[0], &addr);
                if (ERROR_OK != retval)
                        return retval;
+               current_pc = 0;
        }
 
        target_t *target = get_current_target(cmd_ctx);
-       return target->type->step(target, 0, addr, 1);
+
+       return target->type->step(target, current_pc, addr, 1);
 }
 
 static void handle_md_output(struct command_context_s *cmd_ctx,
@@ -2066,7 +2079,7 @@ static void handle_md_output(struct command_context_s *cmd_ctx,
                {
                        output_len += snprintf(output + output_len,
                                        sizeof(output) - output_len,
-                                       "0x%8.8x: ", 
+                                       "0x%8.8x: ",
                                        (unsigned)(address + (i*size)));
                }
 
@@ -2241,7 +2254,7 @@ static int handle_load_image_command(struct command_context_s *cmd_ctx, char *cm
 
        duration_t duration;
        char *duration_text;
-       
+
        int retval = parse_load_image_command_args(args, argc,
                        &image, &min_address, &max_address);
        if (ERROR_OK != retval)
@@ -2262,8 +2275,8 @@ static int handle_load_image_command(struct command_context_s *cmd_ctx, char *cm
                buffer = malloc(image.sections[i].size);
                if (buffer == NULL)
                {
-                       command_print(cmd_ctx, 
-                                                 "error allocating buffer for section (%d bytes)", 
+                       command_print(cmd_ctx,
+                                                 "error allocating buffer for section (%d bytes)",
                                                  (int)(image.sections[i].size));
                        break;
                }
@@ -2300,8 +2313,8 @@ static int handle_load_image_command(struct command_context_s *cmd_ctx, char *cm
                                break;
                        }
                        image_size += length;
-                       command_print(cmd_ctx, "%u byte written at address 0x%8.8" PRIx32 "", 
-                                                 (unsigned int)length, 
+                       command_print(cmd_ctx, "%u byte written at address 0x%8.8" PRIx32 "",
+                                                 (unsigned int)length,
                                                  image.sections[i].base_address + offset);
                }
 
@@ -2316,8 +2329,8 @@ static int handle_load_image_command(struct command_context_s *cmd_ctx, char *cm
 
        if (retval == ERROR_OK)
        {
-               command_print(cmd_ctx, "downloaded %u byte in %s", 
-                                         (unsigned int)image_size, 
+               command_print(cmd_ctx, "downloaded %u byte in %s",
+                                         (unsigned int)image_size,
                                          duration_text);
        }
        free(duration_text);
@@ -2459,8 +2472,8 @@ static int handle_verify_image_command_internal(struct command_context_s *cmd_ct
                buffer = malloc(image.sections[i].size);
                if (buffer == NULL)
                {
-                       command_print(cmd_ctx, 
-                                                 "error allocating buffer for section (%d bytes)", 
+                       command_print(cmd_ctx,
+                                                 "error allocating buffer for section (%d bytes)",
                                                  (int)(image.sections[i].size));
                        break;
                }
@@ -2507,10 +2520,10 @@ static int handle_verify_image_command_internal(struct command_context_s *cmd_ct
                                        {
                                                if (data[t] != buffer[t])
                                                {
-                                                       command_print(cmd_ctx, 
-                                                                                 "Verify operation failed address 0x%08x. Was 0x%02x instead of 0x%02x\n", 
-                                                                                 (unsigned)(t + image.sections[i].base_address), 
-                                                                                 data[t], 
+                                                       command_print(cmd_ctx,
+                                                                                 "Verify operation failed address 0x%08x. Was 0x%02x instead of 0x%02x\n",
+                                                                                 (unsigned)(t + image.sections[i].base_address),
+                                                                                 data[t],
                                                                                  buffer[t]);
                                                        free(data);
                                                        free(buffer);
@@ -2528,8 +2541,8 @@ static int handle_verify_image_command_internal(struct command_context_s *cmd_ct
                        }
                } else
                {
-                       command_print(cmd_ctx, "address 0x%08" PRIx32 " length 0x%08" PRIx32 "", 
-                                                 image.sections[i].base_address, 
+                       command_print(cmd_ctx, "address 0x%08" PRIx32 " length 0x%08" PRIx32 "",
+                                                 image.sections[i].base_address,
                                                  buf_cnt);
                }
 
@@ -2546,8 +2559,8 @@ done:
 
        if (retval == ERROR_OK)
        {
-               command_print(cmd_ctx, "verified %u bytes in %s", 
-                                         (unsigned int)image_size, 
+               command_print(cmd_ctx, "verified %u bytes in %s",
+                                         (unsigned int)image_size,
                                          duration_text);
        }
        free(duration_text);
@@ -2578,7 +2591,7 @@ static int handle_bp_command_list(struct command_context_s *cmd_ctx)
                        char* buf = buf_to_str(breakpoint->orig_instr,
                                        breakpoint->length, 16);
                        command_print(cmd_ctx, "0x%8.8" PRIx32 ", 0x%x, %i, 0x%s",
-                                       breakpoint->address, 
+                                       breakpoint->address,
                                        breakpoint->length,
                                        breakpoint->set, buf);
                        free(buf);
@@ -2586,7 +2599,7 @@ static int handle_bp_command_list(struct command_context_s *cmd_ctx)
                else
                {
                        command_print(cmd_ctx, "0x%8.8" PRIx32 ", 0x%x, %i",
-                                                 breakpoint->address, 
+                                                 breakpoint->address,
                                                  breakpoint->length, breakpoint->set);
                }
 
@@ -2667,9 +2680,9 @@ static int handle_wp_command(struct command_context_s *cmd_ctx, char *cmd, char
 
                while (watchpoint)
                {
-                       command_print(cmd_ctx, 
-                                                 "address: 0x%8.8" PRIx32 ", len: 0x%8.8x, r/w/a: %i, value: 0x%8.8" PRIx32 ", mask: 0x%8.8" PRIx32 "", 
-                                                 watchpoint->address, 
+                       command_print(cmd_ctx,
+                                                 "address: 0x%8.8" PRIx32 ", len: 0x%8.8x, r/w/a: %i, value: 0x%8.8" PRIx32 ", mask: 0x%8.8" PRIx32 "",
+                                                 watchpoint->address,
                                                  watchpoint->length,
                                                  (int)(watchpoint->rw),
                                                  watchpoint->value,
@@ -3111,8 +3124,8 @@ static int target_mem2array(Jim_Interp *interp, target_t *target, int argc, Jim_
        } else {
                char buf[100];
                Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));
-               sprintf(buf, "mem2array address: 0x%08" PRIx32 " is not aligned for %" PRId32 " byte reads", 
-                               addr, 
+               sprintf(buf, "mem2array address: 0x%08" PRIx32 " is not aligned for %" PRId32 " byte reads",
+                               addr,
                                width);
                Jim_AppendStrings(interp, Jim_GetResult(interp), buf , NULL);
                return JIM_ERR;
@@ -3135,9 +3148,9 @@ static int target_mem2array(Jim_Interp *interp, target_t *target, int argc, Jim_
                retval = target_read_memory(target, addr, width, count, buffer);
                if (retval != ERROR_OK) {
                        /* BOO !*/
-                       LOG_ERROR("mem2array: Read @ 0x%08x, w=%d, cnt=%d, failed", 
-                                         (unsigned int)addr, 
-                                         (int)width, 
+                       LOG_ERROR("mem2array: Read @ 0x%08x, w=%d, cnt=%d, failed",
+                                         (unsigned int)addr,
+                                         (int)width,
                                          (int)count);
                        Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));
                        Jim_AppendStrings(interp, Jim_GetResult(interp), "mem2array: cannot read memory", NULL);
@@ -3205,12 +3218,12 @@ static int jim_array2mem(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
        target_t *target;
 
        context = Jim_GetAssocData(interp, "context");
-       if (context == NULL){
+       if (context == NULL) {
                LOG_ERROR("array2mem: no command context");
                return JIM_ERR;
        }
        target = get_current_target(context);
-       if (target == NULL){
+       if (target == NULL) {
                LOG_ERROR("array2mem: no current target");
                return JIM_ERR;
        }
@@ -3298,8 +3311,8 @@ static int target_array2mem(Jim_Interp *interp, target_t *target, int argc, Jim_
        } else {
                char buf[100];
                Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));
-               sprintf(buf, "array2mem address: 0x%08x is not aligned for %d byte reads", 
-                               (unsigned int)addr, 
+               sprintf(buf, "array2mem address: 0x%08x is not aligned for %d byte reads",
+                               (unsigned int)addr,
                                (int)width);
                Jim_AppendStrings(interp, Jim_GetResult(interp), buf , NULL);
                return JIM_ERR;
@@ -3339,9 +3352,9 @@ static int target_array2mem(Jim_Interp *interp, target_t *target, int argc, Jim_
                retval = target_write_memory(target, addr, width, count, buffer);
                if (retval != ERROR_OK) {
                        /* BOO !*/
-                       LOG_ERROR("array2mem: Write @ 0x%08x, w=%d, cnt=%d, failed", 
-                                         (unsigned int)addr, 
-                                         (int)width, 
+                       LOG_ERROR("array2mem: Write @ 0x%08x, w=%d, cnt=%d, failed",
+                                         (unsigned int)addr,
+                                         (int)width,
                                          (int)count);
                        Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));
                        Jim_AppendStrings(interp, Jim_GetResult(interp), "array2mem: cannot read memory", NULL);
@@ -3364,7 +3377,7 @@ void target_all_handle_event(enum target_event e)
                           Jim_Nvp_value2name_simple(nvp_target_event, e)->name);
 
        target = all_targets;
-       while (target){
+       while (target) {
                target_handle_event(target, e);
                target = target->next;
        }
@@ -3378,10 +3391,10 @@ void target_handle_event(target_t *target, enum target_event e)
        teap = target->event_action;
 
        done = 0;
-       while (teap){
-               if (teap->event == e){
+       while (teap) {
+               if (teap->event == e) {
                        done = 1;
-                       LOG_DEBUG("target: (%d) %s (%s) event: %d (%s) action: %s\n",
+                       LOG_DEBUG("target: (%d) %s (%s) event: %d (%s) action: %s",
                                           target->target_number,
                                           target->cmd_name,
                                           target_get_name(target),
@@ -3395,7 +3408,7 @@ void target_handle_event(target_t *target, enum target_event e)
                }
                teap = teap->next;
        }
-       if (!done){
+       if (!done) {
                LOG_DEBUG("event: %d %s - no action",
                                   e,
                                   Jim_Nvp_value2name_simple(nvp_target_event, e)->name);
@@ -3437,38 +3450,38 @@ static int target_configure(Jim_GetOptInfo *goi, target_t *target)
        int e;
 
        /* parse config or cget options ... */
-       while (goi->argc > 0){
+       while (goi->argc > 0) {
                Jim_SetEmptyResult(goi->interp);
                /* Jim_GetOpt_Debug(goi); */
 
-               if (target->type->target_jim_configure){
+               if (target->type->target_jim_configure) {
                        /* target defines a configure function */
                        /* target gets first dibs on parameters */
                        e = (*(target->type->target_jim_configure))(target, goi);
-                       if (e == JIM_OK){
+                       if (e == JIM_OK) {
                                /* more? */
                                continue;
                        }
-                       if (e == JIM_ERR){
+                       if (e == JIM_ERR) {
                                /* An error */
                                return e;
                        }
                        /* otherwise we 'continue' below */
                }
                e = Jim_GetOpt_Nvp(goi, nvp_config_opts, &n);
-               if (e != JIM_OK){
+               if (e != JIM_OK) {
                        Jim_GetOpt_NvpUnknown(goi, nvp_config_opts, 0);
                        return e;
                }
-               switch (n->value){
+               switch (n->value) {
                case TCFG_TYPE:
                        /* not setable */
-                       if (goi->isconfigure){
+                       if (goi->isconfigure) {
                                Jim_SetResult_sprintf(goi->interp, "not setable: %s", n->name);
                                return JIM_ERR;
                        } else {
                        no_params:
-                               if (goi->argc != 0){
+                               if (goi->argc != 0) {
                                        Jim_WrongNumArgs(goi->interp, goi->argc, goi->argv, "NO PARAMS");
                                        return JIM_ERR;
                                }
@@ -3477,24 +3490,24 @@ static int target_configure(Jim_GetOptInfo *goi, target_t *target)
                        /* loop for more */
                        break;
                case TCFG_EVENT:
-                       if (goi->argc == 0){
+                       if (goi->argc == 0) {
                                Jim_WrongNumArgs(goi->interp, goi->argc, goi->argv, "-event ?event-name? ...");
                                return JIM_ERR;
                        }
 
                        e = Jim_GetOpt_Nvp(goi, nvp_target_event, &n);
-                       if (e != JIM_OK){
+                       if (e != JIM_OK) {
                                Jim_GetOpt_NvpUnknown(goi, nvp_target_event, 1);
                                return e;
                        }
 
-                       if (goi->isconfigure){
-                               if (goi->argc != 1){
+                       if (goi->isconfigure) {
+                               if (goi->argc != 1) {
                                        Jim_WrongNumArgs(goi->interp, goi->argc, goi->argv, "-event ?event-name? ?EVENT-BODY?");
                                        return JIM_ERR;
                                }
                        } else {
-                               if (goi->argc != 0){
+                               if (goi->argc != 0) {
                                        Jim_WrongNumArgs(goi->interp, goi->argc, goi->argv, "-event ?event-name?");
                                        return JIM_ERR;
                                }
@@ -3505,21 +3518,21 @@ static int target_configure(Jim_GetOptInfo *goi, target_t *target)
 
                                teap = target->event_action;
                                /* replace existing? */
-                               while (teap){
-                                       if (teap->event == (enum target_event)n->value){
+                               while (teap) {
+                                       if (teap->event == (enum target_event)n->value) {
                                                break;
                                        }
                                        teap = teap->next;
                                }
 
-                               if (goi->isconfigure){
-                                       if (teap == NULL){
+                               if (goi->isconfigure) {
+                                       if (teap == NULL) {
                                                /* create new */
                                                teap = calloc(1, sizeof(*teap));
                                        }
                                        teap->event = n->value;
                                        Jim_GetOpt_Obj(goi, &o);
-                                       if (teap->body){
+                                       if (teap->body) {
                                                Jim_DecrRefCount(interp, teap->body);
                                        }
                                        teap->body  = Jim_DuplicateObj(goi->interp, o);
@@ -3541,7 +3554,7 @@ static int target_configure(Jim_GetOptInfo *goi, target_t *target)
                                        Jim_SetEmptyResult(goi->interp);
                                } else {
                                        /* get */
-                                       if (teap == NULL){
+                                       if (teap == NULL) {
                                                Jim_SetEmptyResult(goi->interp);
                                        } else {
                                                Jim_SetResult(goi->interp, Jim_DuplicateObj(goi->interp, teap->body));
@@ -3552,15 +3565,15 @@ static int target_configure(Jim_GetOptInfo *goi, target_t *target)
                        break;
 
                case TCFG_WORK_AREA_VIRT:
-                       if (goi->isconfigure){
+                       if (goi->isconfigure) {
                                target_free_all_working_areas(target);
                                e = Jim_GetOpt_Wide(goi, &w);
-                               if (e != JIM_OK){
+                               if (e != JIM_OK) {
                                        return e;
                                }
                                target->working_area_virt = w;
                        } else {
-                               if (goi->argc != 0){
+                               if (goi->argc != 0) {
                                        goto no_params;
                                }
                        }
@@ -3569,15 +3582,15 @@ static int target_configure(Jim_GetOptInfo *goi, target_t *target)
                        break;
 
                case TCFG_WORK_AREA_PHYS:
-                       if (goi->isconfigure){
+                       if (goi->isconfigure) {
                                target_free_all_working_areas(target);
                                e = Jim_GetOpt_Wide(goi, &w);
-                               if (e != JIM_OK){
+                               if (e != JIM_OK) {
                                        return e;
                                }
                                target->working_area_phys = w;
                        } else {
-                               if (goi->argc != 0){
+                               if (goi->argc != 0) {
                                        goto no_params;
                                }
                        }
@@ -3586,15 +3599,15 @@ static int target_configure(Jim_GetOptInfo *goi, target_t *target)
                        break;
 
                case TCFG_WORK_AREA_SIZE:
-                       if (goi->isconfigure){
+                       if (goi->isconfigure) {
                                target_free_all_working_areas(target);
                                e = Jim_GetOpt_Wide(goi, &w);
-                               if (e != JIM_OK){
+                               if (e != JIM_OK) {
                                        return e;
                                }
                                target->working_area_size = w;
                        } else {
-                               if (goi->argc != 0){
+                               if (goi->argc != 0) {
                                        goto no_params;
                                }
                        }
@@ -3603,16 +3616,16 @@ static int target_configure(Jim_GetOptInfo *goi, target_t *target)
                        break;
 
                case TCFG_WORK_AREA_BACKUP:
-                       if (goi->isconfigure){
+                       if (goi->isconfigure) {
                                target_free_all_working_areas(target);
                                e = Jim_GetOpt_Wide(goi, &w);
-                               if (e != JIM_OK){
+                               if (e != JIM_OK) {
                                        return e;
                                }
                                /* make this exactly 1 or 0 */
                                target->backup_working_area = (!!w);
                        } else {
-                               if (goi->argc != 0){
+                               if (goi->argc != 0) {
                                        goto no_params;
                                }
                        }
@@ -3621,20 +3634,20 @@ static int target_configure(Jim_GetOptInfo *goi, target_t *target)
                        break;
 
                case TCFG_ENDIAN:
-                       if (goi->isconfigure){
+                       if (goi->isconfigure) {
                                e = Jim_GetOpt_Nvp(goi, nvp_target_endian, &n);
-                               if (e != JIM_OK){
+                               if (e != JIM_OK) {
                                        Jim_GetOpt_NvpUnknown(goi, nvp_target_endian, 1);
                                        return e;
                                }
                                target->endianness = n->value;
                        } else {
-                               if (goi->argc != 0){
+                               if (goi->argc != 0) {
                                        goto no_params;
                                }
                        }
                        n = Jim_Nvp_value2name_simple(nvp_target_endian, target->endianness);
-                       if (n->name == NULL){
+                       if (n->name == NULL) {
                                target->endianness = TARGET_LITTLE_ENDIAN;
                                n = Jim_Nvp_value2name_simple(nvp_target_endian, target->endianness);
                        }
@@ -3643,20 +3656,20 @@ static int target_configure(Jim_GetOptInfo *goi, target_t *target)
                        break;
 
                case TCFG_VARIANT:
-                       if (goi->isconfigure){
-                               if (goi->argc < 1){
+                       if (goi->isconfigure) {
+                               if (goi->argc < 1) {
                                        Jim_SetResult_sprintf(goi->interp,
                                                                                   "%s ?STRING?",
                                                                                   n->name);
                                        return JIM_ERR;
                                }
-                               if (target->variant){
+                               if (target->variant) {
                                        free((void *)(target->variant));
                                }
                                e = Jim_GetOpt_String(goi, &cp, NULL);
                                target->variant = strdup(cp);
                        } else {
-                               if (goi->argc != 0){
+                               if (goi->argc != 0) {
                                        goto no_params;
                                }
                        }
@@ -3664,22 +3677,22 @@ static int target_configure(Jim_GetOptInfo *goi, target_t *target)
                        /* loop for more */
                        break;
                case TCFG_CHAIN_POSITION:
-                       if (goi->isconfigure){
+                       if (goi->isconfigure) {
                                Jim_Obj *o;
                                jtag_tap_t *tap;
                                target_free_all_working_areas(target);
                                e = Jim_GetOpt_Obj(goi, &o);
-                               if (e != JIM_OK){
+                               if (e != JIM_OK) {
                                        return e;
                                }
                                tap = jtag_tap_by_jim_obj(goi->interp, o);
-                               if (tap == NULL){
+                               if (tap == NULL) {
                                        return JIM_ERR;
                                }
                                /* make this exactly 1 or 0 */
                                target->tap = tap;
                        } else {
-                               if (goi->argc != 0){
+                               if (goi->argc != 0) {
                                        goto no_params;
                                }
                        }
@@ -3756,16 +3769,16 @@ static int tcl_target_func(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
 
        /* commands here are in an NVP table */
        e = Jim_GetOpt_Nvp(&goi, target_options, &n);
-       if (e != JIM_OK){
+       if (e != JIM_OK) {
                Jim_GetOpt_NvpUnknown(&goi, target_options, 0);
                return e;
        }
        /* Assume blank result */
        Jim_SetEmptyResult(goi.interp);
 
-       switch (n->value){
+       switch (n->value) {
        case TS_CMD_CONFIGURE:
-               if (goi.argc < 2){
+               if (goi.argc < 2) {
                        Jim_WrongNumArgs(goi.interp, goi.argc, goi.argv, "missing: -option VALUE ...");
                        return JIM_ERR;
                }
@@ -3773,7 +3786,7 @@ static int tcl_target_func(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
                return target_configure(&goi, target);
        case TS_CMD_CGET:
                // some things take params
-               if (goi.argc < 1){
+               if (goi.argc < 1) {
                        Jim_WrongNumArgs(goi.interp, 0, goi.argv, "missing: ?-option?");
                        return JIM_ERR;
                }
@@ -3789,7 +3802,7 @@ static int tcl_target_func(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
                 * argv[3] = optional count.
                 */
 
-               if ((goi.argc == 2) || (goi.argc == 3)){
+               if ((goi.argc == 2) || (goi.argc == 3)) {
                        /* all is well */
                } else {
                mwx_error:
@@ -3798,24 +3811,24 @@ static int tcl_target_func(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
                }
 
                e = Jim_GetOpt_Wide(&goi, &a);
-               if (e != JIM_OK){
+               if (e != JIM_OK) {
                        goto mwx_error;
                }
 
                e = Jim_GetOpt_Wide(&goi, &b);
-               if (e != JIM_OK){
+               if (e != JIM_OK) {
                        goto mwx_error;
                }
                if (goi.argc == 3) {
                        e = Jim_GetOpt_Wide(&goi, &c);
-                       if (e != JIM_OK){
+                       if (e != JIM_OK) {
                                goto mwx_error;
                        }
                } else {
                        c = 1;
                }
 
-               switch (n->value){
+               switch (n->value) {
                case TS_CMD_MWW:
                        target_buffer_set_u32(target, target_buf, b);
                        b = 4;
@@ -3829,9 +3842,9 @@ static int tcl_target_func(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
                        b = 1;
                        break;
                }
-               for (x = 0 ; x < c ; x++){
+               for (x = 0 ; x < c ; x++) {
                        e = target_write_memory(target, a, b, 1, target_buf);
-                       if (e != ERROR_OK){
+                       if (e != ERROR_OK) {
                                Jim_SetResult_sprintf(interp, "Error writing @ 0x%08x: %d\n", (int)(a), e);
                                return JIM_ERR;
                        }
@@ -3849,24 +3862,24 @@ static int tcl_target_func(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
                 * argv[1] = address
                 * argv[2] = optional count
                 */
-               if ((goi.argc == 2) || (goi.argc == 3)){
+               if ((goi.argc == 2) || (goi.argc == 3)) {
                        Jim_SetResult_sprintf(goi.interp, "expected: %s ADDR [COUNT]", n->name);
                        return JIM_ERR;
                }
                e = Jim_GetOpt_Wide(&goi, &a);
-               if (e != JIM_OK){
+               if (e != JIM_OK) {
                        return JIM_ERR;
                }
-               if (goi.argc){
+               if (goi.argc) {
                        e = Jim_GetOpt_Wide(&goi, &c);
-                       if (e != JIM_OK){
+                       if (e != JIM_OK) {
                                return JIM_ERR;
                        }
                } else {
                        c = 1;
                }
                b = 1; /* shut up gcc */
-               switch (n->value){
+               switch (n->value) {
                case TS_CMD_MDW:
                        b =  4;
                        break;
@@ -3881,52 +3894,52 @@ static int tcl_target_func(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
                /* convert to "bytes" */
                c = c * b;
                /* count is now in 'BYTES' */
-               while (c > 0){
+               while (c > 0) {
                        y = c;
-                       if (y > 16){
+                       if (y > 16) {
                                y = 16;
                        }
                        e = target_read_memory(target, a, b, y / b, target_buf);
-                       if (e != ERROR_OK){
+                       if (e != ERROR_OK) {
                                Jim_SetResult_sprintf(interp, "error reading target @ 0x%08lx", (int)(a));
                                return JIM_ERR;
                        }
 
                        Jim_fprintf(interp, interp->cookie_stdout, "0x%08x ", (int)(a));
-                       switch (b){
+                       switch (b) {
                        case 4:
-                               for (x = 0 ; (x < 16) && (x < y) ; x += 4){
+                               for (x = 0 ; (x < 16) && (x < y) ; x += 4) {
                                        z = target_buffer_get_u32(target, &(target_buf[ x * 4 ]));
                                        Jim_fprintf(interp, interp->cookie_stdout, "%08x ", (int)(z));
                                }
-                               for (; (x < 16) ; x += 4){
+                               for (; (x < 16) ; x += 4) {
                                        Jim_fprintf(interp, interp->cookie_stdout, "         ");
                                }
                                break;
                        case 2:
-                               for (x = 0 ; (x < 16) && (x < y) ; x += 2){
+                               for (x = 0 ; (x < 16) && (x < y) ; x += 2) {
                                        z = target_buffer_get_u16(target, &(target_buf[ x * 2 ]));
                                        Jim_fprintf(interp, interp->cookie_stdout, "%04x ", (int)(z));
                                }
-                               for (; (x < 16) ; x += 2){
+                               for (; (x < 16) ; x += 2) {
                                        Jim_fprintf(interp, interp->cookie_stdout, "     ");
                                }
                                break;
                        case 1:
                        default:
-                               for (x = 0 ; (x < 16) && (x < y) ; x += 1){
+                               for (x = 0 ; (x < 16) && (x < y) ; x += 1) {
                                        z = target_buffer_get_u8(target, &(target_buf[ x * 4 ]));
                                        Jim_fprintf(interp, interp->cookie_stdout, "%02x ", (int)(z));
                                }
-                               for (; (x < 16) ; x += 1){
+                               for (; (x < 16) ; x += 1) {
                                        Jim_fprintf(interp, interp->cookie_stdout, "   ");
                                }
                                break;
                        }
                        /* ascii-ify the bytes */
-                       for (x = 0 ; x < y ; x++){
+                       for (x = 0 ; x < y ; x++) {
                                if ((target_buf[x] >= 0x20) &&
-                                       (target_buf[x] <= 0x7e)){
+                                       (target_buf[x] <= 0x7e)) {
                                        /* good */
                                } else {
                                        /* smack it */
@@ -3934,7 +3947,7 @@ static int tcl_target_func(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
                                }
                        }
                        /* space pad  */
-                       while (x < 16){
+                       while (x < 16) {
                                target_buf[x] = ' ';
                                x++;
                        }
@@ -3954,31 +3967,31 @@ static int tcl_target_func(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
                return target_array2mem(goi.interp, target, goi.argc, goi.argv);
                break;
        case TS_CMD_EXAMINE:
-               if (goi.argc){
+               if (goi.argc) {
                        Jim_WrongNumArgs(goi.interp, 2, argv, "[no parameters]");
                        return JIM_ERR;
                }
                if (!target->tap->enabled)
                        goto err_tap_disabled;
                e = target->type->examine(target);
-               if (e != ERROR_OK){
+               if (e != ERROR_OK) {
                        Jim_SetResult_sprintf(interp, "examine-fails: %d", e);
                        return JIM_ERR;
                }
                return JIM_OK;
        case TS_CMD_POLL:
-               if (goi.argc){
+               if (goi.argc) {
                        Jim_WrongNumArgs(goi.interp, 2, argv, "[no parameters]");
                        return JIM_ERR;
                }
                if (!target->tap->enabled)
                        goto err_tap_disabled;
-               if (!(target_was_examined(target))){
+               if (!(target_was_examined(target))) {
                        e = ERROR_TARGET_NOT_EXAMINED;
                } else {
                        e = target->type->poll(target);
                }
-               if (e != ERROR_OK){
+               if (e != ERROR_OK) {
                        Jim_SetResult_sprintf(interp, "poll-fails: %d", e);
                        return JIM_ERR;
                } else {
@@ -3986,18 +3999,18 @@ static int tcl_target_func(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
                }
                break;
        case TS_CMD_RESET:
-               if (goi.argc != 2){
+               if (goi.argc != 2) {
                        Jim_WrongNumArgs(interp, 2, argv, "t | f|assert | deassert BOOL");
                        return JIM_ERR;
                }
                e = Jim_GetOpt_Nvp(&goi, nvp_assert, &n);
-               if (e != JIM_OK){
+               if (e != JIM_OK) {
                        Jim_GetOpt_NvpUnknown(&goi, nvp_assert, 1);
                        return e;
                }
                /* the halt or not param */
                e = Jim_GetOpt_Wide(&goi, &a);
-               if (e != JIM_OK){
+               if (e != JIM_OK) {
                        return e;
                }
                if (!target->tap->enabled)
@@ -4008,14 +4021,14 @@ static int tcl_target_func(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
                target_free_all_working_areas_restore(target, 0);
 
                /* do the assert */
-               if (n->value == NVP_ASSERT){
+               if (n->value == NVP_ASSERT) {
                        target->type->assert_reset(target);
                } else {
                        target->type->deassert_reset(target);
                }
                return JIM_OK;
        case TS_CMD_HALT:
-               if (goi.argc){
+               if (goi.argc) {
                        Jim_WrongNumArgs(goi.interp, 0, argv, "halt [no parameters]");
                        return JIM_ERR;
                }
@@ -4025,23 +4038,23 @@ static int tcl_target_func(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
                return JIM_OK;
        case TS_CMD_WAITSTATE:
                /* params:  <name>  statename timeoutmsecs */
-               if (goi.argc != 2){
+               if (goi.argc != 2) {
                        Jim_SetResult_sprintf(goi.interp, "%s STATENAME TIMEOUTMSECS", n->name);
                        return JIM_ERR;
                }
                e = Jim_GetOpt_Nvp(&goi, nvp_target_state, &n);
-               if (e != JIM_OK){
+               if (e != JIM_OK) {
                        Jim_GetOpt_NvpUnknown(&goi, nvp_target_state,1);
                        return e;
                }
                e = Jim_GetOpt_Wide(&goi, &a);
-               if (e != JIM_OK){
+               if (e != JIM_OK) {
                        return e;
                }
                if (!target->tap->enabled)
                        goto err_tap_disabled;
                e = target_wait_state(target, n->value, a);
-               if (e != ERROR_OK){
+               if (e != ERROR_OK) {
                        Jim_SetResult_sprintf(goi.interp,
                                                                   "target: %s wait %s fails (%d) %s",
                                                                   target->cmd_name,
@@ -4063,7 +4076,7 @@ static int tcl_target_func(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
                                                   target->cmd_name);
                        command_print(cmd_ctx, "%-25s | Body", "Event");
                        command_print(cmd_ctx, "------------------------- | ----------------------------------------");
-                       while (teap){
+                       while (teap) {
                                command_print(cmd_ctx,
                                                           "%-25s | %s",
                                                           Jim_Nvp_value2name_simple(nvp_target_event, teap->event)->name,
@@ -4074,20 +4087,21 @@ static int tcl_target_func(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
                        return JIM_OK;
                }
        case TS_CMD_CURSTATE:
-               if (goi.argc != 0){
+               if (goi.argc != 0) {
                        Jim_WrongNumArgs(goi.interp, 0, argv, "[no parameters]");
                        return JIM_ERR;
                }
                Jim_SetResultString(goi.interp,
-                                                        Jim_Nvp_value2name_simple(nvp_target_state,target->state)->name,-1);
+                                                       target_state_name( target ),
+                                                       -1);
                return JIM_OK;
        case TS_CMD_INVOKE_EVENT:
-               if (goi.argc != 1){
+               if (goi.argc != 1) {
                        Jim_SetResult_sprintf(goi.interp, "%s ?EVENTNAME?",n->name);
                        return JIM_ERR;
                }
                e = Jim_GetOpt_Nvp(&goi, nvp_target_event, &n);
-               if (e != JIM_OK){
+               if (e != JIM_OK) {
                        Jim_GetOpt_NvpUnknown(&goi, nvp_target_event, 1);
                        return e;
                }
@@ -4113,7 +4127,7 @@ static int target_create(Jim_GetOptInfo *goi)
        struct command_context_s *cmd_ctx;
 
        cmd_ctx = Jim_GetAssocData(goi->interp, "context");
-       if (goi->argc < 3){
+       if (goi->argc < 3) {
                Jim_WrongNumArgs(goi->interp, 1, goi->argv, "?name? ?type? ..options...");
                return JIM_ERR;
        }
@@ -4122,7 +4136,7 @@ static int target_create(Jim_GetOptInfo *goi)
        Jim_GetOpt_Obj(goi, &new_cmd);
        /* does this command exist? */
        cmd = Jim_GetCommand(goi->interp, new_cmd, JIM_ERRMSG);
-       if (cmd){
+       if (cmd) {
                cp = Jim_GetString(new_cmd, NULL);
                Jim_SetResult_sprintf(goi->interp, "Command/target: %s Exists", cp);
                return JIM_ERR;
@@ -4132,16 +4146,16 @@ static int target_create(Jim_GetOptInfo *goi)
        e = Jim_GetOpt_String(goi, &cp2, NULL);
        cp = cp2;
        /* now does target type exist */
-       for (x = 0 ; target_types[x] ; x++){
-               if (0 == strcmp(cp, target_types[x]->name)){
+       for (x = 0 ; target_types[x] ; x++) {
+               if (0 == strcmp(cp, target_types[x]->name)) {
                        /* found */
                        break;
                }
        }
-       if (target_types[x] == NULL){
+       if (target_types[x] == NULL) {
                Jim_SetResult_sprintf(goi->interp, "Unknown target type %s, try one of ", cp);
-               for (x = 0 ; target_types[x] ; x++){
-                       if (target_types[x + 1]){
+               for (x = 0 ; target_types[x] ; x++) {
+                       if (target_types[x + 1]) {
                                Jim_AppendStrings(goi->interp,
                                                                   Jim_GetResult(goi->interp),
                                                                   target_types[x]->name,
@@ -4209,13 +4223,13 @@ static int target_create(Jim_GetOptInfo *goi)
                e = JIM_ERR;
        }
 
-       if (e != JIM_OK){
+       if (e != JIM_OK) {
                free(target->type);
                free(target);
                return e;
        }
 
-       if (target->endianness == TARGET_ENDIAN_UNKNOWN){
+       if (target->endianness == TARGET_ENDIAN_UNKNOWN) {
                /* default endian to little if not specified */
                target->endianness = TARGET_LITTLE_ENDIAN;
        }
@@ -4225,10 +4239,10 @@ static int target_create(Jim_GetOptInfo *goi)
                target->variant = strdup("");
 
        /* create the target specific commands */
-       if (target->type->register_commands){
+       if (target->type->register_commands) {
                (*(target->type->register_commands))(cmd_ctx);
        }
-       if (target->type->target_create){
+       if (target->type->target_create) {
                (*(target->type->target_create))(target, goi->interp);
        }
 
@@ -4236,7 +4250,7 @@ static int target_create(Jim_GetOptInfo *goi)
        {
                target_t **tpp;
                tpp = &(all_targets);
-               while (*tpp){
+               while (*tpp) {
                        tpp = &((*tpp)->next);
                }
                *tpp = target;
@@ -4285,48 +4299,48 @@ static int jim_target(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
 
        Jim_GetOpt_Setup(&goi, interp, argc-1, argv + 1);
 
-       if (goi.argc == 0){
+       if (goi.argc == 0) {
                Jim_WrongNumArgs(interp, 1, argv, "missing: command ...");
                return JIM_ERR;
        }
 
        /* Jim_GetOpt_Debug(&goi); */
        r = Jim_GetOpt_Enum(&goi, target_cmds, &x);
-       if (r != JIM_OK){
+       if (r != JIM_OK) {
                return r;
        }
 
-       switch (x){
+       switch (x) {
        default:
                Jim_Panic(goi.interp,"Why am I here?");
                return JIM_ERR;
        case TG_CMD_CURRENT:
-               if (goi.argc != 0){
+               if (goi.argc != 0) {
                        Jim_WrongNumArgs(goi.interp, 1, goi.argv, "Too many parameters");
                        return JIM_ERR;
                }
                Jim_SetResultString(goi.interp, get_current_target(cmd_ctx)->cmd_name, -1);
                return JIM_OK;
        case TG_CMD_TYPES:
-               if (goi.argc != 0){
+               if (goi.argc != 0) {
                        Jim_WrongNumArgs(goi.interp, 1, goi.argv, "Too many parameters");
                        return JIM_ERR;
                }
                Jim_SetResult(goi.interp, Jim_NewListObj(goi.interp, NULL, 0));
-               for (x = 0 ; target_types[x] ; x++){
+               for (x = 0 ; target_types[x] ; x++) {
                        Jim_ListAppendElement(goi.interp,
                                                                   Jim_GetResult(goi.interp),
                                                                   Jim_NewStringObj(goi.interp, target_types[x]->name, -1));
                }
                return JIM_OK;
        case TG_CMD_NAMES:
-               if (goi.argc != 0){
+               if (goi.argc != 0) {
                        Jim_WrongNumArgs(goi.interp, 1, goi.argv, "Too many parameters");
                        return JIM_ERR;
                }
                Jim_SetResult(goi.interp, Jim_NewListObj(goi.interp, NULL, 0));
                target = all_targets;
-               while (target){
+               while (target) {
                        Jim_ListAppendElement(goi.interp,
                                                                   Jim_GetResult(goi.interp),
                                                                   Jim_NewStringObj(goi.interp, target->cmd_name, -1));
@@ -4334,25 +4348,25 @@ static int jim_target(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
                }
                return JIM_OK;
        case TG_CMD_CREATE:
-               if (goi.argc < 3){
+               if (goi.argc < 3) {
                        Jim_WrongNumArgs(goi.interp, goi.argc, goi.argv, "?name  ... config options ...");
                        return JIM_ERR;
                }
                return target_create(&goi);
                break;
        case TG_CMD_NUMBER:
-               if (goi.argc != 1){
+               if (goi.argc != 1) {
                        Jim_SetResult_sprintf(goi.interp, "expected: target number ?NUMBER?");
                        return JIM_ERR;
                }
                e = Jim_GetOpt_Wide(&goi, &w);
-               if (e != JIM_OK){
+               if (e != JIM_OK) {
                        return JIM_ERR;
                }
                {
                        target_t *t;
                        t = get_target_by_num(w);
-                       if (t == NULL){
+                       if (t == NULL) {
                                Jim_SetResult_sprintf(goi.interp,"Target: number %d does not exist", (int)(w));
                                return JIM_ERR;
                        }
@@ -4360,7 +4374,7 @@ static int jim_target(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
                        return JIM_OK;
                }
        case TG_CMD_COUNT:
-               if (goi.argc != 0){
+               if (goi.argc != 0) {
                        Jim_WrongNumArgs(goi.interp, 0, goi.argv, "<no parameters>");
                        return JIM_ERR;
                }
@@ -4443,7 +4457,7 @@ static int handle_fast_load_image_command(struct command_context_s *cmd_ctx, cha
                buffer = malloc(image.sections[i].size);
                if (buffer == NULL)
                {
-                       command_print(cmd_ctx, "error allocating buffer for section (%d bytes)", 
+                       command_print(cmd_ctx, "error allocating buffer for section (%d bytes)",
                                                  (int)(image.sections[i].size));
                        break;
                }
@@ -4486,8 +4500,8 @@ static int handle_fast_load_image_command(struct command_context_s *cmd_ctx, cha
                        fastload[i].length = length;
 
                        image_size += length;
-                       command_print(cmd_ctx, "%u byte written at address 0x%8.8x", 
-                                                 (unsigned int)length, 
+                       command_print(cmd_ctx, "%u byte written at address 0x%8.8x",
+                                                 (unsigned int)length,
                                                  ((unsigned int)(image.sections[i].base_address + offset)));
                }
 
@@ -4528,8 +4542,8 @@ static int handle_fast_load_command(struct command_context_s *cmd_ctx, char *cmd
        for (i = 0; i < fastload_num;i++)
        {
                target_t *target = get_current_target(cmd_ctx);
-               command_print(cmd_ctx, "Write to 0x%08x, length 0x%08x", 
-                                         (unsigned int)(fastload[i].address), 
+               command_print(cmd_ctx, "Write to 0x%08x, length 0x%08x",
+                                         (unsigned int)(fastload[i].address),
                                          (unsigned int)(fastload[i].length));
                if (retval == ERROR_OK)
                {
@@ -4544,7 +4558,7 @@ static int handle_fast_load_command(struct command_context_s *cmd_ctx, char *cmd
 
 
 /*
- * Local Variables: 
+ * Local Variables:
  * c-basic-offset: 4
  * tab-width: 4
  * End:

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)