When doing development on UrJTAG, I found sometimes dumping tap state
was useful for debugging. I attached a log below. What do you think? Is
it OK?
Regards,
Jie
$ ./jtag -q
jtag> debug debug
Return in urj_parse_line r=0
jtag> cable gnice+
Connected to libftdi driver.
tap_state: UNKNOWN_STATE
tap_state: TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:1)=> TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:1)=> TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:1)=> TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:1)=> TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:1)=> TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:0)=> RUN_TEST_IDLE
Return in urj_parse_line r=0
jtag> detect
tap_state: TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:1)=> TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:1)=> TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:1)=> TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:1)=> TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:1)=> TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:0)=> RUN_TEST_IDLE
tap_state: RUN_TEST_IDLE =(tms:1)=> SELECT_DR_SCAN
tap_state: SELECT_DR_SCAN =(tms:1)=> SELECT_IR_SCAN
tap_state: SELECT_IR_SCAN =(tms:0)=> CAPTURE_IR
tap_state: CAPTURE_IR =(tms:0)=> SHIFT_IR
IR length: 5
tap_state: SHIFT_IR =(tms:1)=> EXIT1_IR
tap_state: EXIT1_IR =(tms:1)=> UPDATE_IR
tap_state: UPDATE_IR =(tms:0)=> RUN_TEST_IDLE
tap_state: RUN_TEST_IDLE =(tms:1)=> SELECT_DR_SCAN
tap_state: SELECT_DR_SCAN =(tms:0)=> CAPTURE_DR
tap_state: CAPTURE_DR =(tms:0)=> SHIFT_DR
Chain length: 1
tap_state: TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:1)=> TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:1)=> TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:1)=> TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:1)=> TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:1)=> TEST_LOGIC_RESET
tap_state: TEST_LOGIC_RESET =(tms:0)=> RUN_TEST_IDLE
tap_state: RUN_TEST_IDLE =(tms:1)=> SELECT_DR_SCAN
tap_state: SELECT_DR_SCAN =(tms:0)=> CAPTURE_DR
tap_state: CAPTURE_DR =(tms:0)=> SHIFT_DR
Device Id: 00100010011111001000000011001011 (0x227C80CB)
Manufacturer: Analog Devices
Part(0): BF537
Stepping: 2
Filename:
/home/jie/installs/urjtag-upstream/share/urjtag/analog/bf537/bf537
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
Return in urj_parse_line r=0
File Closed go=0
tap_state: SHIFT_DR =(tms:1)=> EXIT1_DR
tap_state: EXIT1_DR =(tms:1)=> UPDATE_DR
tap_state: UPDATE_DR =(tms:0)=> RUN_TEST_IDLE
tap_state: RUN_TEST_IDLE =(tms:1)=> SELECT_DR_SCAN
tap_state: SELECT_DR_SCAN =(tms:1)=> SELECT_IR_SCAN
tap_state: SELECT_IR_SCAN =(tms:0)=> CAPTURE_IR
tap_state: CAPTURE_IR =(tms:0)=> SHIFT_IR
tap_state: SHIFT_IR =(tms:1)=> EXIT1_IR
tap_state: EXIT1_IR =(tms:1)=> UPDATE_IR
tap_state: UPDATE_IR =(tms:0)=> RUN_TEST_IDLE
tap_state: RUN_TEST_IDLE =(tms:1)=> SELECT_DR_SCAN
tap_state: SELECT_DR_SCAN =(tms:0)=> CAPTURE_DR
tap_state: CAPTURE_DR =(tms:0)=> SHIFT_DR
tap_state: SHIFT_DR =(tms:1)=> EXIT1_DR
tap_state: EXIT1_DR =(tms:1)=> UPDATE_DR
tap_state: UPDATE_DR =(tms:0)=> RUN_TEST_IDLE
tap_state: RUN_TEST_IDLE =(tms:1)=> SELECT_DR_SCAN
tap_state: SELECT_DR_SCAN =(tms:1)=> SELECT_IR_SCAN
tap_state: SELECT_IR_SCAN =(tms:0)=> CAPTURE_IR
tap_state: CAPTURE_IR =(tms:0)=> SHIFT_IR
tap_state: SHIFT_IR =(tms:1)=> EXIT1_IR
tap_state: EXIT1_IR =(tms:1)=> UPDATE_IR
tap_state: UPDATE_IR =(tms:0)=> RUN_TEST_IDLE
Return in urj_parse_line r=0
jtag>
2010-02-01 Jie Zhang <jie.zh...@analog.com>
* src/tap/state.c (urj_tap_state_name): New.
(urj_tap_state_dump): New.
(urj_tap_state_dump_2): New.
(urj_tap_state_init): Call urj_tap_state_dump.
(urj_tap_state_done): Likewise.
(urj_tap_state_reset): Likewise.
(urj_tap_state_set_trst): Likewise.
(urj_tap_state_clock): Call urj_tap_state_dump_2.
Index: src/tap/state.c
===================================================================
--- src/tap/state.c (revision 1748)
+++ src/tap/state.c (working copy)
@@ -26,6 +26,46 @@
#include <urjtag/tap_state.h>
#include <urjtag/chain.h>
+static const char *
+urj_tap_state_name (int state)
+{
+ switch (state)
+ {
+ case URJ_TAP_STATE_UNKNOWN_STATE: return "UNKNOWN_STATE";
+ case URJ_TAP_STATE_TEST_LOGIC_RESET: return "TEST_LOGIC_RESET";
+ case URJ_TAP_STATE_RUN_TEST_IDLE: return "RUN_TEST_IDLE";
+ case URJ_TAP_STATE_SELECT_DR_SCAN: return "SELECT_DR_SCAN";
+ case URJ_TAP_STATE_CAPTURE_DR: return "CAPTURE_DR";
+ case URJ_TAP_STATE_SHIFT_DR: return "SHIFT_DR";
+ case URJ_TAP_STATE_EXIT1_DR: return "EXIT1_DR";
+ case URJ_TAP_STATE_PAUSE_DR: return "PAUSE_DR";
+ case URJ_TAP_STATE_EXIT2_DR: return "EXIT2_DR";
+ case URJ_TAP_STATE_UPDATE_DR: return "UPDATE_DR";
+ case URJ_TAP_STATE_SELECT_IR_SCAN: return "SELECT_IR_SCAN";
+ case URJ_TAP_STATE_CAPTURE_IR: return "CAPTURE_IR";
+ case URJ_TAP_STATE_SHIFT_IR: return "SHIFT_IR";
+ case URJ_TAP_STATE_EXIT1_IR: return "EXIT1_IR";
+ case URJ_TAP_STATE_PAUSE_IR: return "PAUSE_IR";
+ case URJ_TAP_STATE_EXIT2_IR: return "EXIT2_IR";
+ case URJ_TAP_STATE_UPDATE_IR: return "UPDATE_IR";
+ default: return "??????";
+ }
+}
+
+static void
+urj_tap_state_dump (int state)
+{
+ urj_log (URJ_LOG_LEVEL_DEBUG, "tap_state: %s\n",
+ urj_tap_state_name (state));
+}
+
+static void
+urj_tap_state_dump_2 (int state0, int state1, int tms)
+{
+ urj_log (URJ_LOG_LEVEL_DEBUG, "tap_state: %16s =(tms:%d)=> %s\n",
+ urj_tap_state_name (state0), tms, urj_tap_state_name (state1));
+}
+
int
urj_tap_state (urj_chain_t *chain)
{
@@ -35,18 +75,21 @@ urj_tap_state (urj_chain_t *chain)
int
urj_tap_state_init (urj_chain_t *chain)
{
+ urj_tap_state_dump (URJ_TAP_STATE_UNKNOWN_STATE);
return chain->state = URJ_TAP_STATE_UNKNOWN_STATE;
}
int
urj_tap_state_done (urj_chain_t *chain)
{
+ urj_tap_state_dump (URJ_TAP_STATE_UNKNOWN_STATE);
return chain->state = URJ_TAP_STATE_UNKNOWN_STATE;
}
int
urj_tap_state_reset (urj_chain_t *chain)
{
+ urj_tap_state_dump (URJ_TAP_STATE_TEST_LOGIC_RESET);
return chain->state = URJ_TAP_STATE_TEST_LOGIC_RESET;
}
@@ -64,12 +107,15 @@ urj_tap_state_set_trst (urj_chain_t *cha
chain->state = URJ_TAP_STATE_UNKNOWN_STATE;
}
+ urj_tap_state_dump (chain->state);
return chain->state;
}
int
urj_tap_state_clock (urj_chain_t *chain, int tms)
{
+ int oldstate = chain->state;
+
if (tms)
{
switch (chain->state)
@@ -154,5 +200,6 @@ urj_tap_state_clock (urj_chain_t *chain,
}
}
+ urj_tap_state_dump_2 (oldstate, chain->state, tms);
return chain->state;
}
------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
UrJTAG-development mailing list
UrJTAG-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/urjtag-development