Situation: Board with STM32 (ARM Cortex-M3) and JTAG based on FT2232 (JTAGkey clone). OpenOCD 0.2.0 using ftd2xx.dll
When I connect the JTAG to the PC (power-up) and run OpenOCD I get: > Open On-Chip Debugger 0.2.0 (2009-07-19-11:13) Release > $URL: > http://svn.berlios.de/svnroot/repos/openocd/tags/openocd-0.2.0/src/openocd.c $ > For bug reports, read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS > 1000 kHz > jtag_nsrst_delay: 100 > jtag_ntrst_delay: 100 > 1000 kHz > Info : device: 4 > Info : deviceID: 67358712 > Info : SerialNumber: FTS7ZEMMA > Info : Description: Amontec JTAGkey A > Warn : Tap/Device does not have IDCODE > Error: JTAG tap: stm32.cpu got: 0x00000000 (mfg: 0x000, part: > 0x0000, ver: 0x0) > Error: JTAG tap: stm32.cpu expected 1 of 1: 0x3ba00477 (mfg: 0x23b, part: > 0xba00, ver: 0x3) > Error: trying to validate configured JTAG chain anyway... > Error: Could not validate JTAG scan chain, IR mismatch, scan returned 0x0000. > tap=stm32.cpu pos=0 expected 0x1 got 0 > Warn : Could not validate JTAG chain, continuing anyway... > Warn : Invalid ACK in SWJDP transaction > Warn : Invalid ACK in SWJDP transaction > Warn : Invalid ACK in SWJDP transaction > Warn : Invalid ACK in SWJDP transaction > Warn : Block read error address 0xe000ed00, count 0x1 > Warn : Invalid ACK in SWJDP transaction > Warn : Invalid ACK in SWJDP transaction > Warn : Invalid ACK in SWJDP transaction And that last warning goes on forever. Now when I just close that OpenOCD session and start it up again: > Open On-Chip Debugger 0.2.0 (2009-07-19-11:13) Release > $URL: > http://svn.berlios.de/svnroot/repos/openocd/tags/openocd-0.2.0/src/openocd.c $ > For bug reports, read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS > 1000 kHz > jtag_nsrst_delay: 100 > jtag_ntrst_delay: 100 > 1000 kHz > Info : device: 4 > Info : deviceID: 67358712 > Info : SerialNumber: FTS7ZEMMA > Info : Description: Amontec JTAGkey A > Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: > 0xba00, ver: 0x3) > Info : JTAG Tap/device matched > Info : JTAG tap: stm32.bs tap/device found: 0x16410041 (mfg: 0x020, part: > 0x6410, ver: 0x1) > Info : JTAG Tap/device matched -> Works perfectly. If I'd close OpenOCD, disconnect the JTAG (power-down), plug that again (power-up) and start OpenOCD - the situation would be exactly the same. In exactly the same situation (OpenOCD started after power-up of JTAG) - version 0.1.0 works fine: > Open On-Chip Debugger 0.1.0 (2009-01-21-21:15) Release > BUGS? Read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS > $URL: > https://[email protected]/svnroot/repos/openocd/tags/openocd-0.1.0/src/openocd.c > $ > 1000 kHz > 1000 kHz > Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (Manufacturer: 0x23b, > Part: 0xba00, Version: 0x3) > Info : JTAG Tap/device matched > Info : JTAG tap: stm32.bs tap/device found: 0x16410041 (Manufacturer: 0x020, > Part: 0x6410, Version: 0x1) > Info : JTAG Tap/device matched > Warn : no telnet port specified, using default port 4444 > Warn : no gdb port specified, using default port 3333 > Warn : no tcl port specified, using default port 6666 The same situation with LPC2103 looks a bit different, but the bug is here too. After JTAG power-up: > Open On-Chip Debugger 0.2.0 (2009-07-19-11:13) Release > $URL: > http://svn.berlios.de/svnroot/repos/openocd/tags/openocd-0.2.0/src/openocd.c $ > For bug reports, read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS > jtag_nsrst_delay: 100 > jtag_ntrst_delay: 100 > 1000 kHz > Info : device: 4 > Info : deviceID: 67358712 > Info : SerialNumber: FTS7ZEMMA > Info : Description: Amontec JTAGkey A > Warn : Tap/Device does not have IDCODE > Error: JTAG tap: lpc2103.cpu got: 0x00000000 (mfg: 0x000, part: > 0x0000, ver: 0x0) > Error: JTAG tap: lpc2103.cpu expected 1 of 1: 0x4f1f0f0f (mfg: 0x787, part: > 0xf1f0, ver: 0x4) > Error: trying to validate configured JTAG chain anyway... > Error: Could not validate JTAG scan chain, IR mismatch, scan returned 0x00. > tap=lpc2103.cpu pos=0 expected 0x1 got 0 > Warn : Could not validate JTAG chain, continuing anyway... > Error: unknown EmbeddedICE version (comms ctrl: 0x0000e38c) And the next run: > Open On-Chip Debugger 0.2.0 (2009-07-19-11:13) Release > $URL: > http://svn.berlios.de/svnroot/repos/openocd/tags/openocd-0.2.0/src/openocd.c $ > For bug reports, read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS > jtag_nsrst_delay: 100 > jtag_ntrst_delay: 100 > 1000 kHz > Info : device: 4 > Info : deviceID: 67358712 > Info : SerialNumber: FTS7ZEMMA > Info : Description: Amontec JTAGkey A > Info : JTAG tap: lpc2103.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: > 0xf1f0, ver: 0x4) > Info : JTAG Tap/device matched 0.1.0 after power-up: > Open On-Chip Debugger 0.1.0 (2009-01-21-21:15) Release > BUGS? Read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS > $URL: > https://[email protected]/svnroot/repos/openocd/tags/openocd-0.1.0/src/openocd.c > $ > 1000 kHz > 1000 kHz > Info : JTAG tap: lpc2103.cpu tap/device found: 0x4f1f0f0f (Manufacturer: > 0x787, Part: 0xf1f0, Version: 0x4) > Info : JTAG Tap/device matched > Warn : no telnet port specified, using default port 4444 > Warn : no gdb port specified, using default port 3333 > Warn : no tcl port specified, using default port 6666 I've checked with some other STM32 boards I have and the situation is exactl the same. I've checked some previous revisions of OpenOCD that I have, and the last one before 0.2.0 that I have - r2498 - works fine. My JTAG is a pretty good copy of JTAGkey, I've two of them, and both show exactly the same behaviour. 0.2.0 using libftdi+libusb doesn't show that bug. 4\/3!! _______________________________________________ Openocd-development mailing list [email protected] https://lists.berlios.de/mailman/listinfo/openocd-development
