What to do: couldn't read from FT2232 ?

Hello all,

I started to play with openocd and FT2232. I start OpenOcd and try to programm external flash memory (CFI compatible). I use telnet and inside ```
flash write_image erase d:\EB200dk\ecos.bin 0x30000000 bin


What am I doing wrong ? I always get the same error.

OpenOCD session follows:

D:\sw\OpenOCD\bin>openocd.exe -f …\eb200_ertec.cfg -c “init” -c “reset”
Open On-Chip Debugger 1.0 (2008-09-24-20:28) svn:994

BUGS? Read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS

$URL: http://svn.berlios.de/svnroot/repos/openocd/trunk/src/openocd.c $
jtag_khz: 16
fast memory access is enabled
dcc downloads are enabled
force hard breakpoints
jtag_khz: 3000
jtag_khz: 3000
Info: JTAG device found: 0x15946021 (Manufacturer: 0x010, Part: 0x5946, Version: 0x1)
Warning:no tcl port specified, using default port 6666
jtag_khz: 16
Info: JTAG device found: 0x15946021 (Manufacturer: 0x010, Part: 0x5946, Version: 0x1)
Info: accepting ‘telnet’ connection from 0

target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x200000d3 pc: 0x000001d8
auto erase enabled
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (8500)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1297)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1313)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1312)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1313)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (2750)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (2750)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1719)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1703)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1704)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1718)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1704)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1703)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1719)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1578)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1578)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1579)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1578)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1578)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1578)
Warning:BUG: keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1578)
Error: couldn’t read the requested number of bytes from FT2232 device (6190 < 44098)
Error: couldn’t read from FT2232

D:\sw\OpenOCD\bin>

First you should find an up to date version of OpenOCD. The one you are using is more than a year old and many bugs and problems have been fixed since then.

Best regards,

Magnus

mlu:
First you should find an up to date version of OpenOCD. The one you are using is more than a year old and many bugs and problems have been fixed since then.

Best regards,

Magnus

Hello,

currently it was sufficient to increase jtag_khz. Programming worked ok. It was single task to program the board for my colleague so currently I don’t have the board to experiment with.

But later I am going to try it again with newer version of OpenOcd.

There was another problem with unreliable flash erase. I had to do it more times on each sector. So maybe this was the problem of this older version as well.

Thank you,

Vasek