diff options
-rw-r--r-- | src/jtag/commands.c | 38 | ||||
-rw-r--r-- | src/jtag/ft2232.c | 45 | ||||
-rw-r--r-- | src/jtag/jtag.h | 6 |
3 files changed, 47 insertions, 42 deletions
diff --git a/src/jtag/commands.c b/src/jtag/commands.c index 0cee02a..70e30ab 100644 --- a/src/jtag/commands.c +++ b/src/jtag/commands.c @@ -184,36 +184,37 @@ int jtag_build_buffer(const scan_command_t *cmd, uint8_t **buffer) bit_count = 0; -#ifdef _DEBUG_JTAG_IO_ - LOG_DEBUG("%s num_fields: %i", cmd->ir_scan ? "IRSCAN" : "DRSCAN", cmd->num_fields); -#endif + DEBUG_JTAG_IO("%s num_fields: %i", + cmd->ir_scan ? "IRSCAN" : "DRSCAN", + cmd->num_fields); for (i = 0; i < cmd->num_fields; i++) { if (cmd->fields[i].out_value) { #ifdef _DEBUG_JTAG_IO_ - char* char_buf = buf_to_str(cmd->fields[i].out_value, (cmd->fields[i].num_bits > DEBUG_JTAG_IOZ) ? DEBUG_JTAG_IOZ : cmd->fields[i].num_bits, 16); -#endif - buf_set_buf(cmd->fields[i].out_value, 0, *buffer, bit_count, cmd->fields[i].num_bits); -#ifdef _DEBUG_JTAG_IO_ - LOG_DEBUG("fields[%i].out_value[%i]: 0x%s", i, cmd->fields[i].num_bits, char_buf); + char *char_buf = buf_to_str(cmd->fields[i].out_value, + (cmd->fields[i].num_bits > DEBUG_JTAG_IOZ) + ? DEBUG_JTAG_IOZ + : cmd->fields[i].num_bits, 16); + + LOG_DEBUG("fields[%i].out_value[%i]: 0x%s", i, + cmd->fields[i].num_bits, char_buf); free(char_buf); #endif + buf_set_buf(cmd->fields[i].out_value, 0, *buffer, + bit_count, cmd->fields[i].num_bits); } else { -#ifdef _DEBUG_JTAG_IO_ - LOG_DEBUG("fields[%i].out_value[%i]: NULL", i, cmd->fields[i].num_bits); -#endif + DEBUG_JTAG_IO("fields[%i].out_value[%i]: NULL", + i, cmd->fields[i].num_bits); } bit_count += cmd->fields[i].num_bits; } -#ifdef _DEBUG_JTAG_IO_ - //LOG_DEBUG("bit_count totalling: %i", bit_count); -#endif + //DEBUG_JTAG_IO("bit_count totalling: %i", bit_count); return bit_count; } @@ -238,8 +239,13 @@ int jtag_read_buffer(uint8_t *buffer, const scan_command_t *cmd) uint8_t *captured = buf_set_buf(buffer, bit_count, malloc(CEIL(num_bits, 8)), 0, num_bits); #ifdef _DEBUG_JTAG_IO_ - char *char_buf = buf_to_str(captured, (num_bits > DEBUG_JTAG_IOZ) ? DEBUG_JTAG_IOZ : num_bits, 16); - LOG_DEBUG("fields[%i].in_value[%i]: 0x%s", i, num_bits, char_buf); + char *char_buf = buf_to_str(captured, + (num_bits > DEBUG_JTAG_IOZ) + ? DEBUG_JTAG_IOZ + : num_bits, 16); + + LOG_DEBUG("fields[%i].in_value[%i]: 0x%s", + i, num_bits, char_buf); free(char_buf); #endif diff --git a/src/jtag/ft2232.c b/src/jtag/ft2232.c index 87f02d6..839976f 100644 --- a/src/jtag/ft2232.c +++ b/src/jtag/ft2232.c @@ -263,9 +263,8 @@ static void clock_tms(uint8_t mpsse_cmd, int tms_bits, int tms_count, bool tdi_b assert(tms_count > 0); -#if 0 - LOG_DEBUG("mpsse cmd=%02x, tms_bits = 0x%08x, bit_count=%d", mpsse_cmd, tms_bits, tms_count); -#endif + DEBUG_JTAG_IO("mpsse cmd=%02x, tms_bits = 0x%08x, bit_count=%d", + mpsse_cmd, tms_bits, tms_count); for (tms_byte = tms_ndx = i = 0; i < tms_count; ++i, tms_bits>>=1) { @@ -773,6 +772,8 @@ static void ft2232_add_pathmove(tap_state_t* path, int num_states) assert((unsigned) num_states <= 32u); /* tms_bits only holds 32 bits */ + DEBUG_JTAG_IO("-"); + /* this loop verifies that the path is legal and logs each state in the path */ while (num_states) { @@ -952,7 +953,6 @@ static void ft2232_add_scan(bool ir_scan, enum scan_type type, uint8_t* buffer, tms_count = 2; /* Clock Data to TMS/CS Pin with Read */ mpsse_cmd = 0x6b; - /* LOG_DEBUG("added TMS scan (read)"); */ } else { @@ -960,9 +960,9 @@ static void ft2232_add_scan(bool ir_scan, enum scan_type type, uint8_t* buffer, tms_count = tap_get_tms_path_len(tap_get_state(), tap_get_end_state()); /* Clock Data to TMS/CS Pin (no Read) */ mpsse_cmd = 0x4b; - /* LOG_DEBUG("added TMS scan (no read)"); */ } + DEBUG_JTAG_IO("finish %s", (type == SCAN_OUT) ? "without read" : "via PAUSE"); clock_tms(mpsse_cmd, tms_bits, tms_count, last_bit); } @@ -1154,6 +1154,7 @@ static int ft2232_large_scan(scan_command_t* cmd, enum scan_type type, uint8_t* /* LOG_DEBUG("added TMS scan (no read)"); */ } + DEBUG_JTAG_IO("finish, %s", (type == SCAN_OUT) ? "no read" : "read"); clock_tms(mpsse_cmd, tms_bits, tms_count, last_bit); } @@ -1565,10 +1566,9 @@ static int ft2232_execute_runtest(jtag_command_t *cmd) } require_send = 1; -#ifdef _DEBUG_JTAG_IO_ - LOG_DEBUG("runtest: %i, end in %s", cmd->cmd.runtest->num_cycles, tap_state_name(tap_get_end_state())); -#endif - + DEBUG_JTAG_IO("runtest: %i, end in %s", + cmd->cmd.runtest->num_cycles, + tap_state_name(tap_get_end_state())); return retval; } @@ -1577,7 +1577,8 @@ static int ft2232_execute_statemove(jtag_command_t *cmd) int predicted_size = 0; int retval = ERROR_OK; - DEBUG_JTAG_IO("statemove end in %i", cmd->cmd.statemove->end_state); + DEBUG_JTAG_IO("statemove end in %s", + tap_state_name(cmd->cmd.statemove->end_state)); /* only send the maximum buffer size that FT2232C can handle */ predicted_size = 3; @@ -1685,10 +1686,9 @@ static int ft2232_execute_scan(jtag_command_t *cmd) require_send = 1; if (buffer) free(buffer); -#ifdef _DEBUG_JTAG_IO_ - LOG_DEBUG("%s scan, %i bits, end in %s", (cmd->cmd.scan->ir_scan) ? "IR" : "DR", scan_size, + DEBUG_JTAG_IO("%s scan, %i bits, end in %s", + (cmd->cmd.scan->ir_scan) ? "IR" : "DR", scan_size, tap_state_name(tap_get_end_state())); -#endif return retval; } @@ -1720,9 +1720,8 @@ static int ft2232_execute_reset(jtag_command_t *cmd) layout->reset(cmd->cmd.reset->trst, cmd->cmd.reset->srst); require_send = 1; -#ifdef _DEBUG_JTAG_IO_ - LOG_DEBUG("trst: %i, srst: %i", cmd->cmd.reset->trst, cmd->cmd.reset->srst); -#endif + DEBUG_JTAG_IO("trst: %i, srst: %i", + cmd->cmd.reset->trst, cmd->cmd.reset->srst); return retval; } @@ -1737,10 +1736,9 @@ static int ft2232_execute_sleep(jtag_command_t *cmd) retval = ERROR_JTAG_QUEUE_FAILED; first_unsent = cmd->next; jtag_sleep(cmd->cmd.sleep->us); -#ifdef _DEBUG_JTAG_IO_ - LOG_DEBUG("sleep %i usec while in %s", cmd->cmd.sleep->us, tap_state_name(tap_get_state())); -#endif - + DEBUG_JTAG_IO("sleep %i usec while in %s", + cmd->cmd.sleep->us, + tap_state_name(tap_get_state())); return retval; } @@ -1754,10 +1752,9 @@ static int ft2232_execute_stableclocks(jtag_command_t *cmd) */ if (ft2232_stableclocks(cmd->cmd.stableclocks->num_cycles, cmd) != ERROR_OK) retval = ERROR_JTAG_QUEUE_FAILED; -#ifdef _DEBUG_JTAG_IO_ - LOG_DEBUG("clocks %i while in %s", cmd->cmd.stableclocks->num_cycles, tap_state_name(tap_get_state())); -#endif - + DEBUG_JTAG_IO("clocks %i while in %s", + cmd->cmd.stableclocks->num_cycles, + tap_state_name(tap_get_state())); return retval; } diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h index 6077458..35635cd 100644 --- a/src/jtag/jtag.h +++ b/src/jtag/jtag.h @@ -28,9 +28,11 @@ #ifdef _DEBUG_JTAG_IO_ -#define DEBUG_JTAG_IO(expr ...) LOG_DEBUG(expr) +#define DEBUG_JTAG_IO(expr ...) \ + do { if (1) LOG_DEBUG(expr); } while (0) #else -#define DEBUG_JTAG_IO(expr ...) +#define DEBUG_JTAG_IO(expr ...) \ + do { if (0) LOG_DEBUG(expr); } while (0) #endif #ifndef DEBUG_JTAG_IOZ |