OpenOCD stopped working?!?

For some reason, my OpenOCD suddenly stopped working…

Here are the details:

I am playing with an olimex str-E912 board, using the latest Yagarto chain (openocd-2007re204, yagarto-ide-20070909, yagarto-tools-20070303, yagarto-bu-2.17_gcc-4.2.1)with an olimex arm-usb-ocd. I had set up the scripts so I could program the target, and it worked fine. I was merely changing the program I was working on, not the OCD scripts, and wanted to flash it like I had done before when suddenly I started getting the error messages

Error: arm7_9_common.c:563 arm7_9_execute_sys_speed(): timeout waiting for SYSCOMP & DBGACK, last DBG_STATUS: 287

I can still open the debug script, and it answers:

Info: openocd.c:93 main(): Open On-Chip Debugger (2007-09-05 09:00 CEST)

Warning: arm7_9_common.c:933 arm7_9_halt(): target was already halted

It does establish the telnet connection, and it scans the chain ok, but to the request “flash info” it only answers “command info not found” - similar to other requests (str9x, flash protect, flash erase, …).

I tried mdw 0 4 and got Error: arm7_9_common.c:563 arm7_9_execute_sys_speed(): timeout waiting for SYSCOMP & DBGACK, last DBG_STATUS: 287

it does give a listing of 4 words, but repeating this can deliver different words, so it does not seem to work.

I have an str711 board (olimex str-p711) as well that I used to cross-check, but here I get the same “command info not found” to the “flash info” request.

The whole chain worked just fine until two hours ago.

I also restarted my computer (no effect), and re-installed openocd (same)

Any ideas?

thanks

Joerg

OpenOCD.cfg:

debug options

##debug 3

daemon configuration

telnet_port 40000

gdb_port 2000

interface ft2232

ft2232_device_desc “Olimex OpenOCD JTAG A”

ft2232_layout “olimex-jtag”

jtag_speed 5

#jtag_nsrst_delay 200

#jtag_ntrst_delay 200

use combined on interfaces or targets that can’t set TRST/SRST separately

!!!For Olimex STR-E912 board you must remove jumper RST-TRST!!!

reset_config trst_and_srst

jtag scan chain (first device being the one closest to TDO)

format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)

jtag_device 8 0x1 0x1 0xfe

jtag_device 4 0x1 0xf 0xe

jtag_device 5 0x1 0x1 0x1e

target configuration

target arm966e little run_and_init 1 arm966e

reset or attach

daemon_startup reset

#run_and_halt_time 0 30

#target_script specifies the flash programming script file

#target_script 0 reset d:\armworkspace\USART_test\flashscript.ocd

target_script 0 reset flashscript.ocd

working_area <target#> <‘backup’|‘nobackup’>

working_area 0 0x50000000 16384 nobackup

flash stuff

flash bank str9x 0x00000000 0x00080000 0 0 0

flashscript.ocd:

#halt

wait_halt # halt the processor and wait

armv4_5 core_state arm # select the core state

#mww 0xffffff60 0x00320100 # set flash wait state (AT91C_MC_FMR)

#mww 0xfffffd44 0xa0008000 # watchdog disable (AT91C_WDTC_WDMR)

#mww 0xfffffc20 0xa0000601 # enable main oscillator (AT91C_PMC_MOR)

#wait 100 # wait 100 ms

#mww 0xfffffc2c 0x00480a0e # set PLL register (AT91C_PMC_PLLR)

#wait 200 # wait 200 ms

#mww 0xfffffc30 0x7 # set master clock to PLL (AT91C_PMC_MCKR)

#wait 100 # wait 100 ms

#mww 0xfffffd08 0xa5000401 # enable user reset AT91C_RSTC_RMR

str9x flash_config 4 2 0 0x80000

flash protect 0 0 11 off

flash erase 0 0 2

flash write 0 main.bin 0x0 # program the onchip flash

reset # reset processor

shutdown # stop OpenOCD