Better?

-- 
Øyvind Harboe
Embedded software and hardware consulting services
http://consulting.zylin.com
### Eclipse Workspace Patch 1.0
#P openocd
Index: src/jtag/jtag.c
===================================================================
--- src/jtag/jtag.c     (revision 1534)
+++ src/jtag/jtag.c     (working copy)
@@ -1531,7 +1531,9 @@
                        u32 part;
                        u32 version;
 
-                       if (idcode == 0x000000FF)
+                       /* some devices, such as AVR will output all 1's 
instead of TDI
+                       input value at end of chain. */
+                       if ((idcode == 0x000000FF)||(idcode == 0xFFFFFFFF))
                        {
                                int unexpected=0;
                                /* End of chain (invalid manufacturer ID)
@@ -1548,7 +1550,7 @@
                                for (bit_count += 32; bit_count < 
(JTAG_MAX_CHAIN_SIZE * 32) - 31;bit_count += 32)
                                {
                                        idcode = buf_get_u32(idcode_buffer, 
bit_count, 32);
-                                       if (unexpected||(idcode != 0x000000FF))
+                                       if (unexpected||((idcode != 
0x000000FF)&&(idcode != 0xFFFFFFFF)))
                                        {
                                                LOG_WARNING("Unexpected idcode 
after end of chain! %d 0x%08x", bit_count, idcode);
                                                unexpected = 1;
@@ -3306,7 +3308,7 @@
 
        tap_state_t last_state;
 
-       // set startstate (and possibly last, if tap_bits == 0) 
+       // set startstate (and possibly last, if tap_bits == 0)
        last_state = next_state;
        DEBUG_JTAG_IO("TAP/SM: START state: %s", tap_state_name(next_state));
 
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to