i am trying to jtag evalbot (stellaris board) without much success, after uploading corrupted software to it. consequently the icdi(usb) lost its original id and name but one can still see it as:
$ lsusb
…
Bus 003 Device 012: ID 0403:6010 Future Technology Devices International, Ltd FT2232C Dual USB-UART/FIFO IC
…
and openocd is throwing segfault after getting into infinite loop on the stack. here is the trace:
$ cat ek-evboard.cfg
interface ft2232
ft2232_layout luminary_icdi
source [find target/stellaris.cfg]
$ src/openocd -v
Open On-Chip Debugger 0.5.0-dev-00724-ge26bda1 (2011-01-29-08:17)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
$ sudo gdb src/openocd
GNU gdb (GDB) 7.2-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type “show copying”
and “show warranty” for details.
This GDB was configured as “i686-linux-gnu”.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>…
Reading symbols from src/openocd…done.
(gdb) run -f ek-evboard.cfg -s tcl
Starting program: src/openocd -f ek-evboard.cfg -s tcl
Open On-Chip Debugger 0.5.0-dev-00724-ge26bda1 (2011-01-29-08:17)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
Info : only one transport option; autoselect ‘jtag’
500 kHz
Info : clock speed 500 kHz
Info : JTAG tap: lm3s.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4)
Program received signal SIGSEGV, Segmentation fault.
0x0013e529 in ?? () from /lib/libusb-0.1.so.4
(gdb) bt
#0 0x0013e529 in ?? () from /lib/libusb-0.1.so.4
#1 0x00136813 in ftdi_read_data (ftdi=0x81ad310,
buf=0xb7fcb008 “K\002\001\031\003”, size=12) at ftdi.c:1567
#2 0x08094a0d in ft2232_read (buf=0xb7fcb008 “K\002\001\031\003”, size=12,
bytes_read=) at ft2232.c:562
#3 0x08094e3f in ft2232_send_and_recv (first=0xb7eca008,
last=) at ft2232.c:831
#4 0x08098c09 in ft2232_execute_queue () at ft2232.c:2097
#5 0x08098e0f in interface_jtag_execute_queue () at driver.c:485
#6 0x0804d742 in jtag_execute_queue_noclear () at core.c:835
#7 0x0804d78b in jtag_execute_queue () at core.c:854
#8 0x080f1fe5 in jtagdp_transaction_endcheck (dap=0x818db80)
at adi_v5_jtag.c:226
#9 jtag_dp_run (dap=0x818db80) at adi_v5_jtag.c:435
#10 0x080f20be in dap_run (dap=0x818db80) at arm_adi_v5.h:341
#11 jtagdp_transaction_endcheck (dap=0x818db80) at adi_v5_jtag.c:263
#12 jtag_dp_run (dap=0x818db80) at adi_v5_jtag.c:435
#13 0x080f20be in dap_run (dap=0x818db80) at arm_adi_v5.h:341
#14 jtagdp_transaction_endcheck (dap=0x818db80) at adi_v5_jtag.c:263
#15 jtag_dp_run (dap=0x818db80) at adi_v5_jtag.c:435
#16 0x080f20be in dap_run (dap=0x818db80) at arm_adi_v5.h:341
#17 jtagdp_transaction_endcheck (dap=0x818db80) at adi_v5_jtag.c:263
#18 jtag_dp_run (dap=0x818db80) at adi_v5_jtag.c:435
#19 0x080f20be in dap_run (dap=0x818db80) at arm_adi_v5.h:341
#20 jtagdp_transaction_endcheck (dap=0x818db80) at adi_v5_jtag.c:263
#21 jtag_dp_run (dap=0x818db80) at adi_v5_jtag.c:435
#22 0x080f20be in dap_run (dap=0x818db80) at arm_adi_v5.h:341
#23 jtagdp_transaction_endcheck (dap=0x818db80) at adi_v5_jtag.c:263
#24 jtag_dp_run (dap=0x818db80) at adi_v5_jtag.c:435
#25 0x080f20be in dap_run (dap=0x818db80) at arm_adi_v5.h:341
#26 jtagdp_transaction_endcheck (dap=0x818db80) at adi_v5_jtag.c:263
#27 jtag_dp_run (dap=0x818db80) at adi_v5_jtag.c:435
#28 0x080f20be in dap_run (dap=0x818db80) at arm_adi_v5.h:341
#29 jtagdp_transaction_endcheck (dap=0x818db80) at adi_v5_jtag.c:263
#30 jtag_dp_run (dap=0x818db80) at adi_v5_jtag.c:435
…
anyone knows how to repair the board? anyway, i think openocd should not crash like this.