Committed.

### Eclipse Workspace Patch 1.0
#P openocd
Index: src/target/etb.c
===================================================================
--- src/target/etb.c    (revision 1611)
+++ src/target/etb.c    (working copy)
@@ -70,12 +70,12 @@
                field.num_bits = tap->ir_length;
                field.out_value = calloc(CEIL(field.num_bits, 8), 1);
                buf_set_u32(field.out_value, 0, field.num_bits, new_instr);
-               
+
                field.in_value = NULL;
-               
-               
+
+
                field.in_handler = NULL;
-               
+

                jtag_add_ir_scan(1, &field, TAP_INVALID);

@@ -95,12 +95,12 @@
                field.num_bits = 5;
                field.out_value = calloc(CEIL(field.num_bits, 8), 1);
                buf_set_u32(field.out_value, 0, field.num_bits, new_scan_chain);
-               
+
                field.in_value = NULL;
-               
-               
+
+
                field.in_handler = NULL;
-               
+

                /* select INTEST instruction */
                etb_set_instr(etb, 0x2);
@@ -186,38 +186,26 @@
        fields[0].tap = etb->tap;
        fields[0].num_bits = 32;
        fields[0].out_value = NULL;
-       
-       fields[0].in_value = NULL;
-       
-       
+       u8 tmp[4];
+       fields[0].in_value = tmp;
        fields[0].in_handler = NULL;
-       

        fields[1].tap = etb->tap;
        fields[1].num_bits = 7;
        fields[1].out_value = malloc(1);
        buf_set_u32(fields[1].out_value, 0, 7, 4);
-       
        fields[1].in_value = NULL;
-       
-       
        fields[1].in_handler = NULL;
-       

        fields[2].tap = etb->tap;
        fields[2].num_bits = 1;
        fields[2].out_value = malloc(1);
        buf_set_u32(fields[2].out_value, 0, 1, 0);
-       
        fields[2].in_value = NULL;
-       
-       
        fields[2].in_handler = NULL;
-       

        jtag_add_dr_scan(3, fields, TAP_INVALID);

-       fields[0].in_handler = buf_to_u32_handler; /* deprecated! invoke
this from user code! */

        for (i = 0; i < num_frames; i++)
        {
@@ -230,8 +218,9 @@
                else
                        buf_set_u32(fields[1].out_value, 0, 7, 0);

-               fields[0].in_handler_priv = &data[i];
-               jtag_add_dr_scan(3, fields, TAP_INVALID);
+               jtag_add_dr_scan_now(3, fields, TAP_INVALID);
+
+               data[i]=buf_get_u32(tmp, 0, 32);
        }

        jtag_execute_queue();
@@ -257,34 +246,34 @@
        fields[0].tap = etb_reg->etb->tap;
        fields[0].num_bits = 32;
        fields[0].out_value = reg->value;
-       
+
        fields[0].in_value = NULL;
-       
-       
+
+
        fields[0].in_handler = NULL;
-       
+

        fields[1].tap = etb_reg->etb->tap;
        fields[1].num_bits = 7;
        fields[1].out_value = malloc(1);
        buf_set_u32(fields[1].out_value, 0, 7, reg_addr);
-       
+
        fields[1].in_value = NULL;
-       
-       
+
+
        fields[1].in_handler = NULL;
-       
+

        fields[2].tap = etb_reg->etb->tap;
        fields[2].num_bits = 1;
        fields[2].out_value = malloc(1);
        buf_set_u32(fields[2].out_value, 0, 1, 0);
-       
+
        fields[2].in_value = NULL;
-       
-       
+
+
        fields[2].in_handler = NULL;
-       
+

        jtag_add_dr_scan(3, fields, TAP_INVALID);

@@ -354,34 +343,34 @@
        fields[0].num_bits = 32;
        fields[0].out_value = malloc(4);
        buf_set_u32(fields[0].out_value, 0, 32, value);
-       
+
        fields[0].in_value = NULL;
-       
-       
+
+
        fields[0].in_handler = NULL;
-       
+

        fields[1].tap = etb_reg->etb->tap;
        fields[1].num_bits = 7;
        fields[1].out_value = malloc(1);
        buf_set_u32(fields[1].out_value, 0, 7, reg_addr);
-       
+
        fields[1].in_value = NULL;
-       
-       
+
+
        fields[1].in_handler = NULL;
-       
+

        fields[2].tap = etb_reg->etb->tap;
        fields[2].num_bits = 1;
        fields[2].out_value = malloc(1);
        buf_set_u32(fields[2].out_value, 0, 1, 1);
-       
+
        fields[2].in_value = NULL;
-       
-       
+
+
        fields[2].in_handler = NULL;
-       
+

        jtag_add_dr_scan(3, fields, TAP_INVALID);



-- 
Øyvind Harboe
Embedded software and hardware consulting services
http://consulting.zylin.com
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to