I couldn't believe my eyes when I saw what the bug was. irscan
has *always* been broken. I checked as far back as svn 345.

A couple of possible explanations:

- irscan has never really been used
- events have somehow conspired to hide the bugs
- I'm missing something

Known problems in irscan:

- does not support >32 bit fields(?). This maybe a problem for
omap devices(?)
- why not reuse the new drscan code?


-- 
Ø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 1750)
+++ src/jtag/jtag.c     (working copy)
@@ -2889,9 +2889,11 @@
                }
        }
 
-       fields = malloc(sizeof(scan_field_t) * argc / 2);
+       int num_fields= num_fields;
+
+       fields = malloc(sizeof(scan_field_t) * num_fields);
 
-       for (i = 0; i < argc / 2; i++)
+       for (i = 0; i < num_fields; i++)
        {
                tap = jtag_TapByString( args[i*2] );
                if (tap==NULL)
@@ -2901,19 +2903,20 @@
                }
                int field_size = tap->ir_length;
                fields[i].tap = tap;
+               fields[i].num_bits = field_size;
                fields[i].out_value = malloc(CEIL(field_size, 8));
                buf_set_u32(fields[i].out_value, 0, field_size, 
strtoul(args[i*2+1], NULL, 0));
                fields[i].in_value = NULL;
        }
 
-       jtag_add_ir_scan(argc / 2, fields, TAP_INVALID);
+       jtag_add_ir_scan(num_fields, fields, TAP_INVALID);
        /* did we have an endstate? */
        if (endstate != TAP_INVALID)
                jtag_add_end_state(endstate);
 
        jtag_execute_queue();
 
-       for (i = 0; i < argc / 2; i++)
+       for (i = 0; i < num_fields; i++)
                free(fields[i].out_value);
 
        free (fields);
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to