Adding new cable to openocd

Hello all,

Well I had a problem with incorrect ID strings and discovered the problem. It happens when moving from state with TMS, not all bits should be used. In my case the move TMS of 0x7F was the culprit, the last 0 was shifted out while that was invalid (JTAG state moved to Run Test Idle), shifting all the IDcodes of the chips by one. Why do you have to shift out only 7 bits instead of 8?

Now that the IDcode is correct I get the following problem:

$ ~/openocd-svn/trunk/src/openocd.exe -f com21_openocd_yajtag.cfg

Open On-Chip Debugger 1.0 (2008-08-18-20:59) svn:

$URL: svn://svn.berlios.de/openocd/trunk/src/openocd.c $

jtag_speed: 0

Info: yajtag_init succesful

Info: yajtag_execute_queue JTAG_STATEMOVE end in 0

Info: yajtag_jtag_write_tms 7f

Info: yajtag_execute_queue JTAG_SCAN

Info: yajtag_jtag_write_tms 17

Info: done yajtag_jtag_write_and_read size 640

Info: yajtag_jtag_write_tms 7f

Info: JTAG device found: 0x10900027 (Manufacturer: 0x013, Part: 0x0900, Version: 0x1)

Info: JTAG device found: 0x10940027 (Manufacturer: 0x013, Part: 0x0940, Version: 0x1)

Info: yajtag_execute_queue JTAG_SCAN

Info: yajtag_jtag_write_tms 1b

Info: done yajtag_jtag_write_and_read size 10

Info: yajtag_jtag_write_tms 7f

Info: yajtag_execute_queue JTAG_SCAN

Info: yajtag_jtag_write_tms 1b

Info: done yajtag_jtag_write_and_read size 8

Info: yajtag_jtag_write_tms 30

Warning:value captured during scan didn’t pass the requested check:

captured: 0x00 check_value: 0x01 check_mask: 0x0f

Warning:in_handler reported a failed check

Warning:no tcl port specified, using default port 6666

The IDcode matches now, and i dont get any errors of:

Error: Error validating JTAG scan chain, IR mismatch, scan returned 0x03ff

but now the last warning.

The JTAG statemachine moves to Test Logic Reset state with the TMS set to 0x7F (MSB ignored), tms pattern 1111111

Then the JTAG statemachine moves to the Shift IR state with the TMS set to 0x1B (MSB ignored), tms pattern 0011011

But then a command is given to move with TMS pattern 30, this pattern is nowhere found in the state change table!

Anyone got a idea?

u8 tap_move[6][6] =

{

/* TLR RTI SD PD SI PI */

{0x7f, 0x00, 0x17, 0x0a, 0x1b, 0x16}, /* TLR */

{0x7f, 0x00, 0x25, 0x05, 0x2b, 0x0b}, /* RTI */

{0x7f, 0x31, 0x00, 0x01, 0x0f, 0x2f}, /* SD */

{0x7f, 0x30, 0x20, 0x17, 0x1e, 0x2f}, /* PD */

{0x7f, 0x31, 0x07, 0x17, 0x00, 0x01}, /* SI No pattern 0x30!!! */

{0x7f, 0x30, 0x1c, 0x17, 0x20, 0x2f} /* PI */

};

With kind regards, Anton Bart Bilos