David,

You were right about the ir lengths, but I also had to put back in the code
that ignores non b01 for taps with 0 ids.  The i.mx31 has the same weird tap
with no id and no b01 in the capture.  The i.mx25 config and patch are
attached.

John



On Sat, Oct 3, 2009 at 6:03 PM, David Brownell <[email protected]> wrote:

> On Saturday 03 October 2009, John Rigby wrote:
> > > is there; it looks bizarre, that *is* an LSB of b0001, it's
> > > the next bits that are odd.
> >
> > This diagnostic is misleading.  It does not give the position where it
> was
> > expecting the 01.  The string is the entire captured data.  The right
> most 1
> > is the first tap.
>
> Ah, that needs to be fixed then.
>
>
> > The next is the second tap and the 0 is the funky
> > whatchamacallit tap.  Your patch on 9/29 removed code that ignored bad
> > capture codes for taps with no idcodes:
> >
> > - Remove the oddball limitation that invalid capture LSBs
> >        trigger errors only for TAPs that support IDCODE.
>
> I'd not be so sure.  Let's try fixing at least the known bad
> IR length in your config, and the bad message, first.
>
> We don't actually *know* that you've got a bad IR capture
> in the picture ... where we *do* know that some of your IR
> lengths are very wrong.
>
>
> > The i.mx31 has the same issue so I guess this should be reverted or some
> > different way of ignoring this should be added.
>
> Which issue is it that the iM31 has?
>
>
diff --git a/src/jtag/core.c b/src/jtag/core.c
index 6177c1d..4601443 100644
--- a/src/jtag/core.c
+++ b/src/jtag/core.c
@@ -1115,12 +1115,16 @@ static int jtag_validate_ircapture(void)
 		if (val != 1) {
 			char *cbuf = buf_to_str(ir_test, total_ir_length, 16);
 
-			LOG_ERROR("%s: IR capture error; saw 0x%s not 0x..1",
-					jtag_tap_name(tap), cbuf);
-
-			free(cbuf);
-			retval = ERROR_JTAG_INIT_FAILED;
-			goto done;
+			/* Fail only if we have IDCODE for this device.
+			 * This is needed for bogus taps on i.mx31 and i.mx25
+			 */
+			if (tap->hasidcode) {
+				LOG_ERROR("%s: IR capture error; saw 0x%s pos %d not 0x..1",
+					    jtag_tap_name(tap), cbuf, chain_pos);
+				free(cbuf);
+				retval = ERROR_JTAG_INIT_FAILED;
+				goto done;
+			}
 		}
 		chain_pos += tap->ir_length;
 	}

Attachment: imx25.cfg
Description: Binary data

_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to