JTAG: shrink "scan_chain" output
authorDavid Brownell <dbrownell@users.sourceforge.net>
Wed, 16 Dec 2009 22:19:44 +0000 (14:19 -0800)
committerDavid Brownell <dbrownell@users.sourceforge.net>
Wed, 16 Dec 2009 22:19:44 +0000 (14:19 -0800)
Tweak the "scan_chain" output by removing column separators.  Also
remove the "current instruction" state ... which changes constantly.

Now its style resembles the "targets" output, and can even fit on
one line in standard terminals and in the PDF docs.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
doc/openocd.texi
src/jtag/tcl.c

index 9d5652315d306ab7ca3529e54ae083f22137f52e..cda5be385ba43f5df546bf5df9f26d2a7c36146d 100644 (file)
@@ -2592,13 +2592,15 @@ debugging targets.)
 Here's what the scan chain might look like for a chip more than one TAP:
 
 @verbatim
-   TapName            Enabled IdCode     Expected   IrLen IrCap IrMask Instr
--- ------------------ ------- ---------- ---------- ----- ----- ------ -----
- 0 omap5912.dsp          Y    0x03df1d81 0x03df1d81 38    0     0      0x...
- 1 omap5912.arm          Y    0x0692602f 0x0692602f 4     0x1   0      0xc
- 2 omap5912.unknown      Y    0x00000000 0x00000000 8     0     0      0xff
+   TapName            Enabled IdCode     Expected   IrLen IrCap IrMask
+-- ------------------ ------- ---------- ---------- ----- ----- ------
+ 0 omap5912.dsp          Y    0x03df1d81 0x03df1d81    38 0x01  0x03
+ 1 omap5912.arm          Y    0x0692602f 0x0692602f     4 0x01  0x0f
+ 2 omap5912.unknown      Y    0x00000000 0x00000000     8 0x01  0x03
 @end verbatim
 
+OpenOCD can detect some of that information, but not all
+of it.  @xref{Autoprobing}.
 Unfortunately those TAPs can't always be autoconfigured,
 because not all devices provide good support for that.
 JTAG doesn't require supporting IDCODE instructions, and
@@ -2659,8 +2661,6 @@ The set of TAPs listed by this command is fixed by
 exiting the OpenOCD configuration stage,
 but systems with a JTAG router can
 enable or disable TAPs dynamically.
-In addition to the enable/disable status, the contents of
-each TAP's instruction register can also change.
 @end deffn
 
 @c FIXME!  "jtag cget" should be able to return all TAP
index f4815c8eba56a2594e5892a6b18dffad79f596f6..00b1038e250d5a54ffb550fca9a85094a73d3489 100644 (file)
@@ -1021,11 +1021,13 @@ COMMAND_HANDLER(handle_scan_chain_command)
        char expected_id[12];
 
        tap = jtag_all_taps();
-       command_print(CMD_CTX, "     TapName            | Enabled |   IdCode      Expected    IrLen IrCap  IrMask Instr     ");
-       command_print(CMD_CTX, "---|--------------------|---------|------------|------------|------|------|------|---------");
+       command_print(CMD_CTX,
+"   TapName             Enabled  IdCode     Expected   IrLen IrCap IrMask");
+       command_print(CMD_CTX,
+"-- ------------------- -------- ---------- ---------- ----- ----- ------");
 
        while (tap) {
-               uint32_t expected, expected_mask, cur_instr, ii;
+               uint32_t expected, expected_mask, ii;
 
                snprintf(expected_id, sizeof expected_id, "0x%08x",
                                (unsigned)((tap->expected_ids_cnt > 0)
@@ -1036,10 +1038,9 @@ COMMAND_HANDLER(handle_scan_chain_command)
 
                expected = buf_get_u32(tap->expected, 0, tap->ir_length);
                expected_mask = buf_get_u32(tap->expected_mask, 0, tap->ir_length);
-               cur_instr = buf_get_u32(tap->cur_instr, 0, tap->ir_length);
 
                command_print(CMD_CTX,
-       "%2d | %-18s |    %c    | 0x%08x | %s | 0x%02x | 0x%02x | 0x%02x | 0x%02x",
+       "%2d %-18s     %c     0x%08x %s %5d 0x%02x  0x%02x",
                                          tap->abs_chain_position,
                                          tap->dotted_name,
                                          tap->enabled ? 'Y' : 'n',
@@ -1047,8 +1048,7 @@ COMMAND_HANDLER(handle_scan_chain_command)
                                          expected_id,
                                          (unsigned int)(tap->ir_length),
                                          (unsigned int)(expected),
-                                         (unsigned int)(expected_mask),
-                                         (unsigned int)(cur_instr));
+                                         (unsigned int)(expected_mask));
 
                for (ii = 1; ii < tap->expected_ids_cnt; ii++) {
                        snprintf(expected_id, sizeof expected_id, "0x%08x",
@@ -1057,7 +1057,7 @@ COMMAND_HANDLER(handle_scan_chain_command)
                                expected_id[2] = '*';
 
                        command_print(CMD_CTX,
-       "   |                    |         |            | %s |      |      |      |         ",
+       "                                           %s",
                                                  expected_id);
                }