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