- Update tap_state_strings to correspond to SVF state names
authorkc8apf <kc8apf@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Sun, 14 Dec 2008 20:33:01 +0000 (20:33 +0000)
committerkc8apf <kc8apf@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Sun, 14 Dec 2008 20:33:01 +0000 (20:33 +0000)
- Use new jtag_state_name() instead of global tap_state_strings[]

git-svn-id: svn://svn.berlios.de/openocd/trunk@1240 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/jtag/bitbang.c
src/jtag/bitq.c
src/jtag/ft2232.c
src/jtag/gw16012.c
src/jtag/jlink.c
src/jtag/jtag.c
src/jtag/jtag.h
src/jtag/usbprog.c
src/jtag/zy1000.c

index 8c4a3761c984f9ca24d9fe9ca1f217aa8fca7cb3..2d04e108af49d185c595dff9c9b15165dd58e004 100644 (file)
@@ -109,7 +109,7 @@ void bitbang_path_move(pathmove_command_t *cmd)
                }
                else
                {
-                       LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", tap_state_strings[cur_state], tap_state_strings[cmd->path[state_count]]);
+                       LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", jtag_state_name(cur_state), jtag_state_name(cmd->path[state_count]));
                        exit(-1);
                }
 
index f347f7dc8753bdb02aabf601bc8b85a9b5169ae1..6dc9ec9690e3976c678cc02b81ee600294100602 100644 (file)
@@ -172,7 +172,7 @@ void bitq_path_move(pathmove_command_t *cmd)
                if (tap_transitions[cur_state].low == cmd->path[i]) bitq_io(0, 0, 0);
                else if (tap_transitions[cur_state].high == cmd->path[i]) bitq_io(1, 0, 0);
                else {
-                       LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", tap_state_strings[cur_state], tap_state_strings[cmd->path[i]]);
+                       LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", jtag_state_name(cur_state), jtag_state_name(cmd->path[i)]);
                        exit(-1);
                }
 
index 5d79dfb613683db8e855a49e89a156c05d227ed6..773a92e6942196963f48bca5535154aad9675990 100644 (file)
@@ -525,7 +525,7 @@ void ft2232_add_pathmove(pathmove_command_t *cmd)
                                buf_set_u32(&tms_byte, bit_count++, 1, 0x1);
                        else
                        {
-                               LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", tap_state_strings[cur_state], tap_state_strings[cmd->path[state_count]]);
+                               LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", jtag_state_name(cur_state), jtag_state_name(cmd->path[state_count]));
                                exit(-1);
                        }
 
index e03cea93ac4deea46cd33c8131cb37b088aa0134..f9bdec259b5b0bd7fd27b4c4e8e44a4f2d961786 100644 (file)
@@ -240,7 +240,7 @@ void gw16012_path_move(pathmove_command_t *cmd)
                }
                else
                {
-                       LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", tap_state_strings[cur_state], tap_state_strings[cmd->path[state_count]]);
+                       LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", jtag_state_name(cur_state), jtag_state_name(cmd->path[state_count]));
                        exit(-1);
                }
 
index a764bc8cf1b7d22fbab393cac76f80fdabda9a94..04ce65c31f4f60675a428dd37398eb7ef0269503 100644 (file)
@@ -376,7 +376,7 @@ void jlink_path_move(int num_states, enum tap_state *path)
                }
                else
                {
-                       LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", tap_state_strings[cur_state], tap_state_strings[path[i]]);
+                       LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", jtag_state_name(cur_state), jtag_state_name(path[i]));
                        exit(-1);
                }
 
index ca52872f113b6dc499fd5e4fc2d7954d5d560ef3..467ab7ae8e190cabaa9a52b89f2a7ecd6d7d52fa 100644 (file)
 int jtag_error=ERROR_OK;
 
 
-char* tap_state_strings[16] =
-{
-       "tlr",
-       "sds", "cd", "sd", "e1d", "pd", "e2d", "ud",
-       "rti",
-       "sis", "ci", "si", "e1i", "pi", "e2i", "ui"
-};
-
 typedef struct cmd_queue_page_s
 {
        void *address;
@@ -1004,7 +996,7 @@ void jtag_add_pathmove(int num_states, enum tap_state *path)
                if ((tap_transitions[cur_state].low != path[i])&&
                                (tap_transitions[cur_state].high != path[i]))
                {
-                       LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", tap_state_strings[cur_state], tap_state_strings[path[i]]);
+                       LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", jtag_state_name(cur_state), jtag_state_name(path[i]));
                        exit(-1);
                }
                cur_state = path[i];
@@ -2656,14 +2648,14 @@ int handle_endstate_command(struct command_context_s *cmd_ctx, char *cmd, char *
        {
                for (state = 0; state < 16; state++)
                {
-                       if (strcmp(args[0], tap_state_strings[state]) == 0)
+                       if (strcmp(args[0], jtag_state_name(state)) == 0)
                        {
                                jtag_add_end_state(state);
                                jtag_execute_queue();
                        }
                }
        }
-       command_print(cmd_ctx, "current endstate: %s", tap_state_strings[cmd_queue_end_state]);
+       command_print(cmd_ctx, "current endstate: %s", jtag_state_name(cmd_queue_end_state));
 
        return ERROR_OK;
 }
@@ -2915,3 +2907,34 @@ void jtag_tap_handle_event( jtag_tap_t * tap, enum jtag_tap_event e)
                                Jim_Nvp_value2name_simple( nvp_jtag_tap_event, e)->name);
        }
 }
+
+
+/* map state number to SVF state string */
+const char* jtag_state_name(enum tap_state state)
+{
+       const char* ret;
+
+       switch( state )
+       {
+       case TAP_RESET:         ret = "RESET";                  break;
+       case TAP_IDLE:          ret = "IDLE";                   break;
+       case TAP_DRSELECT:      ret = "DRSELECT";               break;
+       case TAP_DRCAPTURE: ret = "DRCAPTURE";          break;
+       case TAP_DRSHIFT:       ret = "DRSHIFT";                        break;
+       case TAP_DREXIT1:       ret = "DREXIT1";                        break;
+       case TAP_DRPAUSE:       ret = "DRPAUSE";                        break;
+       case TAP_DREXIT2:       ret = "DREXIT2";                        break;
+       case TAP_DRUPDATE:      ret = "DRUPDATE";               break;
+       case TAP_IRSELECT:      ret = "IRSELECT";               break;
+       case TAP_IRCAPTURE: ret = "IRCAPTURE";          break;
+       case TAP_IRSHIFT:       ret = "IRSHIFT";                        break;
+       case TAP_IREXIT1:       ret = "IREXIT1";                        break;
+       case TAP_IRPAUSE:       ret = "IRPAUSE";                        break;
+       case TAP_IREXIT2:       ret = "IREXIT2";                        break;
+       case TAP_IRUPDATE:      ret = "IRUPDATE";               break;
+       default:                                ret = "???";
+       }
+
+       return ret;
+}
+
index 16eeef5440c8e11eb4d297d93b1bc0f35be4a8c7..9a2bc423779b23054a5fa6381cfb6a4a4f19e306 100644 (file)
@@ -50,7 +50,6 @@ typedef struct tap_transition_s
        enum tap_state low;
 } tap_transition_t;
 
-extern char* tap_state_strings[16];
 extern int tap_move_map[16];   /* map 16 TAP states to 6 stable states */
 extern u8 tap_move[6][6];              /* value scanned to TMS to move from one of six stable states to another */
 extern tap_transition_t tap_transitions[16];   /* describe the TAP state diagram */
@@ -529,4 +528,11 @@ static __inline__ void jtag_add_dr_out(jtag_tap_t *tap,
        interface_jtag_add_dr_out(tap, num_fields, num_bits, value, cmd_queue_end_state);
 }
 
+/**
+ * Function jtag_state_name
+ * Returns a string suitable for display representing the JTAG tap_state 
+ */
+const char* jtag_state_name(enum tap_state state);
+
+
 #endif /* JTAG_H */
index 872f7339455ae5fce2c376d798712f2abb855d46..419ad4e06fe0816ddba60db35727a6d8b1261080 100644 (file)
@@ -282,7 +282,7 @@ void usbprog_path_move(pathmove_command_t *cmd)
                }
                else
                {
-                       LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", tap_state_strings[cur_state], tap_state_strings[cmd->path[state_count]]);
+                       LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", jtag_state_name(cur_state), jtag_state_name(cmd->path[state_count]));
                        exit(-1);
                }
 
index 315b785525ca7dff9737eea60292ae88b66330e5..160a51ef81a795432dd60032464217f337818b69 100644 (file)
@@ -266,51 +266,51 @@ int zy1000_quit(void)
 int loadFile(const char *fileName, void **data, int *len)
 {
        FILE * pFile;
-       pFile = fopen (fileName,"rb");
+       pFile = fopen(fileName,"rb");
        if (pFile==NULL)
        {
                LOG_ERROR("Can't open %s\n", fileName);
                return ERROR_JTAG_DEVICE_ERROR;
        }
-    if (fseek (pFile, 0, SEEK_END)!=0)
-    {
+       if (fseek(pFile, 0, SEEK_END)!=0)
+       {
                LOG_ERROR("Can't open %s\n", fileName);
                fclose(pFile);
                return ERROR_JTAG_DEVICE_ERROR;
-    }
-    *len=ftell (pFile);
-    if (*len==-1)
-    {
+       }
+       *len=ftell(pFile);
+       if (*len==-1)
+       {
                LOG_ERROR("Can't open %s\n", fileName);
                fclose(pFile);
                return ERROR_JTAG_DEVICE_ERROR;
-    }
+       }
 
-    if (fseek (pFile, 0, SEEK_SET)!=0)
-    {
+       if (fseek(pFile, 0, SEEK_SET)!=0)
+       {
                LOG_ERROR("Can't open %s\n", fileName);
                fclose(pFile);
                return ERROR_JTAG_DEVICE_ERROR;
-    }
-    *data=malloc(*len+1);
-    if (*data==NULL)
-    {
+       }
+       *data=malloc(*len+1);
+       if (*data==NULL)
+       {
                LOG_ERROR("Can't open %s\n", fileName);
                fclose(pFile);
                return ERROR_JTAG_DEVICE_ERROR;
-    }
+       }
 
-    if (fread(*data, 1, *len, pFile)!=*len)
-    {
+       if (fread(*data, 1, *len, pFile)!=*len)
+       {
                fclose(pFile);
        free(*data);
                LOG_ERROR("Can't open %s\n", fileName);
                return ERROR_JTAG_DEVICE_ERROR;
-    }
-    fclose (pFile);
-    *(((char *)(*data))+*len)=0; /* sentinel */
+       }
+       fclose(pFile);
+       *(((char *)(*data))+*len)=0; /* sentinel */
 
-    return ERROR_OK;
+       return ERROR_OK;
 
 
 
@@ -365,7 +365,7 @@ static cyg_uint32 getShiftValueFlip()
 #if 0
 static void shiftValueInnerFlip(const enum tap_state state, const enum tap_state endState, int repeat, cyg_uint32 value)
 {
-       VERBOSE(LOG_INFO("shiftValueInner %s %s %d %08x (flipped)", tap_state_strings[state], tap_state_strings[endState], repeat, value));
+       VERBOSE(LOG_INFO("shiftValueInner %s %s %d %08x (flipped)", jtag_state_name(state), jtag_state_name(endState), repeat, value));
        cyg_uint32 a,b;
        a=state;
        b=endState;
@@ -476,7 +476,7 @@ static __inline void scanFields(int num_fields, scan_field_t *fields, enum tap_s
                        int r=fields[i].in_handler(inBuffer, fields[i].in_handler_priv, fields+i);
                        if (r!=ERROR_OK)
                        {
-                           /* this will cause jtag_execute_queue() to return an error */
+                               /* this will cause jtag_execute_queue() to return an error */
                                jtag_error=r;
                        }
                }
@@ -703,7 +703,7 @@ int interface_jtag_add_pathmove(int num_states, enum tap_state *path)
                }
                else
                {
-                       LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", tap_state_strings[cur_state], tap_state_strings[path[state_count]]);
+                       LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", jtag_state_name(cur_state), jtag_state_name(path[state_count)]);
                        exit(-1);
                }
 

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)