On Thu, Apr 7, 2011 at 11:14 AM, Drasko DRASKOVIC
<[email protected]> 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
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development