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;
}
imx25.cfg
Description: Binary data
_______________________________________________ Openocd-development mailing list [email protected] https://lists.berlios.de/mailman/listinfo/openocd-development
