X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fjtag%2Fjtag.c;h=a9a4b30cbb21c090adaffa6da235b4665627f2cb;hb=7989000e0969c1ccf69acbc3ce649a020bc1ee66;hp=72fe989837ae5a5e43d03217e5386e42fdeb2fe3;hpb=c13924e32cf58e51aa6b86f785c7961daf3da01e;p=openocd.git diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c index 72fe989837..a9a4b30cbb 100644 --- a/src/jtag/jtag.c +++ b/src/jtag/jtag.c @@ -219,7 +219,7 @@ void jtag_add_runtest(int num_cycles, tap_state_t endstate); void jtag_add_end_state(tap_state_t endstate); void jtag_add_sleep(u32 us); int jtag_execute_queue(void); -int tap_state_by_name(const char *name); +tap_state_t tap_state_by_name(const char *name); /* jtag commands */ int handle_interface_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc); @@ -510,7 +510,7 @@ static void jtag_prelude(tap_state_t state) { jtag_prelude1(); - if (state != -1) + if (state != TAP_INVALID) jtag_add_end_state(state); cmd_queue_cur_state = cmd_queue_end_state; @@ -2391,9 +2391,9 @@ int handle_jtag_device_command(struct command_context_s *cmd_ctx, char *cmd, cha args[0], args[1], args[2] ); - command_print( cmd_ctx, "Example: STM32 has 2 taps, the cortexM3(len4) + boundryscan(len5)"); - command_print( cmd_ctx, "jtag newtap stm32 cortexm3 ....., thus creating the tap: \"stm32.cortexm3\""); - command_print( cmd_ctx, "jtag newtap stm32 boundry ....., and the tap: \"stm32.boundery\""); + command_print( cmd_ctx, "Example: STM32 has 2 taps, the cortexM3(len4) + boundaryscan(len5)"); + command_print( cmd_ctx, "jtag newtap stm32 cortexm3 ....., thus creating the tap: \"stm32.cortexm3\""); + command_print( cmd_ctx, "jtag newtap stm32 boundary ....., and the tap: \"stm32.boundary\""); command_print( cmd_ctx, "And then refer to the taps by the dotted name."); newargs[0] = Jim_NewStringObj( interp, "jtag", -1 ); @@ -2652,7 +2652,7 @@ int handle_jtag_khz_command(struct command_context_s *cmd_ctx, char *cmd, char * int handle_endstate_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) { - int state; + tap_state_t state; if (argc < 1) { @@ -2665,7 +2665,7 @@ int handle_endstate_command(struct command_context_s *cmd_ctx, char *cmd, char * command_print( cmd_ctx, "Invalid state name: %s\n", args[0] ); return ERROR_COMMAND_SYNTAX_ERROR; } - jtag_add_end_state( (tap_state_t)(state)); + jtag_add_end_state(state); jtag_execute_queue(); } command_print(cmd_ctx, "current endstate: %s", tap_state_name(cmd_queue_end_state)); @@ -2717,7 +2717,7 @@ int handle_runtest_command(struct command_context_s *cmd_ctx, char *cmd, char ** return ERROR_COMMAND_SYNTAX_ERROR; } - jtag_add_runtest(strtol(args[0], NULL, 0), -1); + jtag_add_runtest(strtol(args[0], NULL, 0), TAP_INVALID); jtag_execute_queue(); return ERROR_OK; @@ -2729,7 +2729,7 @@ int handle_irscan_command(struct command_context_s *cmd_ctx, char *cmd, char **a int i; scan_field_t *fields; jtag_tap_t *tap; - int endstate; + tap_state_t endstate; if ((argc < 2) || (argc % 2)) { @@ -2740,7 +2740,7 @@ int handle_irscan_command(struct command_context_s *cmd_ctx, char *cmd, char **a /* "statename" */ /* at the end of the arguments. */ /* assume none. */ - endstate = -1; + endstate = TAP_INVALID; if( argc >= 4 ){ /* have at least one pair of numbers. */ /* is last pair the magic text? */ @@ -2748,13 +2748,13 @@ int handle_irscan_command(struct command_context_s *cmd_ctx, char *cmd, char **a const char *cpA; const char *cpS; cpA = args[ argc-1 ]; - for( endstate = 0 ; endstate < 16 ; endstate++ ){ + for( endstate = 0 ; endstate < TAP_NUM_STATES ; endstate++ ){ cpS = tap_state_name( endstate ); if( 0 == strcmp( cpA, cpS ) ){ break; } } - if( endstate >= 16 ){ + if( endstate >= TAP_NUM_STATES ){ return ERROR_COMMAND_SYNTAX_ERROR; } else { /* found - remove the last 2 args */ @@ -2784,11 +2784,11 @@ int handle_irscan_command(struct command_context_s *cmd_ctx, char *cmd, char **a fields[i].in_handler_priv = NULL; } - jtag_add_ir_scan(argc / 2, fields, -1); + jtag_add_ir_scan(argc / 2, fields, TAP_INVALID); /* did we have an endstate? */ - if( endstate >= 0 ){ + if (endstate != TAP_INVALID) jtag_add_end_state(endstate); - } + jtag_execute_queue(); for (i = 0; i < argc / 2; i++) @@ -2807,7 +2807,7 @@ int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args) int field_count = 0; int i, e; jtag_tap_t *tap; - int endstate; + tap_state_t endstate; /* args[1] = device * args[2] = num_bits @@ -2825,7 +2825,7 @@ int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args) } /* assume no endstate */ - endstate = -1; + endstate = TAP_INVALID; /* validate arguments as numbers */ e = JIM_OK; for (i = 2; i < argc; i+=2) @@ -2901,11 +2901,11 @@ int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args) fields[field_count++].in_handler_priv = NULL; } - jtag_add_dr_scan(num_fields, fields, -1); + jtag_add_dr_scan(num_fields, fields, TAP_INVALID); /* did we get an end state? */ - if( endstate >= 0 ){ - jtag_add_end_state( (tap_state_t)endstate ); - } + if (endstate != TAP_INVALID) + jtag_add_end_state(endstate); + retval = jtag_execute_queue(); if (retval != ERROR_OK) { @@ -3089,7 +3089,7 @@ int tap_get_tms_path( tap_state_t from, tap_state_t to ) * * DRSHIFT->DRSHIFT and IRSHIFT->IRSHIFT have to be caught in interface specific code */ - const static u8 tms_seqs[6][6] = + static const u8 tms_seqs[6][6] = { /* value clocked to TMS to move from one of six stable states to another */ @@ -3269,18 +3269,18 @@ const char* tap_state_name(tap_state_t state) return ret; } -int tap_state_by_name( const char *name ) +tap_state_t tap_state_by_name( const char *name ) { - int x; + tap_state_t x; - for( x = 0 ; x < 16 ; x++ ){ + for( x = 0 ; x < TAP_NUM_STATES ; x++ ){ /* be nice to the human */ if( 0 == strcasecmp( name, tap_state_name(x) ) ){ return x; } } /* not found */ - return -1; + return TAP_INVALID; } /*-------------------------------------------*/