On Thu, Apr 7, 2011 at 11:14 AM, Drasko DRASKOVIC
<drasko.drasko...@gmail.com> wrote:
> Hi all,
> I have one general question regarding OpenOCD scans.
>
> What happens when we set some field.in_value = NULL, and in reality
> there are some bits that re shifted out on the scan chain ? Are they
> just ignored ? Does that pose the problem ?

This tells the JTAG drivers to throw away the bits that are clocked in
(read from the TAP). The target hardware/TAP does not see a difference.

> To give a concrete example, in the mips_ejtag.c we have something like :
>
>        /* fastdata 1-bit register */
>        fields[0].num_bits = 1;
>        fields[0].out_value = &spracc;
>        fields[0].in_value = NULL;
>
>        /* processor access data register 32 bit */
>        fields[1].num_bits = 32;
>        fields[1].out_value = t;
>
>        if (write_t)
>        {
>                fields[1].in_value = NULL;
>                buf_set_u32(t, 0, 32, *data);
>        }
>        else
>        {
>                fields[1].in_value = (uint8_t *) data;
>        }
>
> So, no values are received (because fields[0].in_value = NULL and
> fields[1].in_value = NULL), but in reality MIPS EJTAG shifts out 33
> bits (one SPrAcc and 32 bits of DATA) upon this operation.
>
> My question is, in general, could not accepting these bits lead to
> some problems or collisions on data lines (or USB bus) ?

The bits are simply ignored rather than stored in memory. The
protocol or target hardware is not affected as such.
-- 
Øyvind Harboe

Can Zylin Consulting help on your project?

US toll free 1-866-980-3434 / International +47 51 87 40 27

http://www.zylin.com/zy1000.html
ARM7 ARM9 ARM11 XScale Cortex
JTAG debugger and flash programmer
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to