I’m trying to use an Amontec JTAGkey with various target boards (mainly SAM7 and S3C2410 (arm920t). However, I always get the same error message~~:~~
----
$ sudo ./openocd -d
Info: openocd.c:82 main(): Open On-Chip Debugger (2006-08-01 12:00 CEST)
Debug: jtag.c:1180 jtag_init():
80 58 5b 85
Debug: ftdi2232.c:96 ftdi2232_speed(): 86 08 00
Debug: jtag.c:240 jtag_call_event_callbacks(): jtag event: 1
Debug: jtag.c:1070 jtag_reset_callback():
Debug: jtag.c:240 jtag_call_event_callbacks(): jtag event: 1
Debug: jtag.c:1070 jtag_reset_callback():
Error: jtag.c:1122 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch
—
This is OpenOCD SVN rev. 82 on debian x86_64, using libftdi2232 (free).
Interestingly the error (and the hex dump bytes) are exactly the same, no matter whether the target board is powered up or not, connected or disconnected.
My config file for the SAM7:
----
telnet_port 4444
gdb_port 3333
#interface
interface ftdi2232
ftdi2232_vid_pid 0x0403 0xcff8
jtag_speed 8
#use combined on interfaces or targets that can’t set TRST/SRST separately
reset_config srst_only
#jtag scan chain
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
jtag_device 4 0x1 0xf 0xe
target arm7tdmi little reset_halt 0 arm7tdmi
daemon_startup reset
working_area 0 0x40000000 0x4000 nobackup
flash bank at91sam7 0 0 0 0 0
----
Interestingly, if I use the same OpenOCD binary with different configuration and a wiggler, it works perfectly fine.
Any ideas?
Hi,
There is a problem in the FT2232 interface code for use with libftdi2232, which doesn’t allow more than one “layout”. The current ftdi2232 uses the original USBJTAG-1 layout I’ve used in my diploma thesis, which is incompatible with the JTAGkey. I’ve already started looking into this, but my server/router’s main disk died this morning, and I’m still in the process of getting everything running again. Luckily, on little data was on that drive… I mean, who needs backups, anyway? Crashes are something that happens someone else
My intention is to unify the ‘ftd2xx’ and ‘ftdi2232’ interfaces, as this isn’t the first time the ‘ftdi2232’ interface broke because I usually only test with the ‘ftd2xx’ interface.
Regards,
Dominic
Thanks for the explanation. I might look into fixing it myself, depending on how much I need the jtagkey (when working at customers I don’t have a notebook with parallel port).
Anyway, with regard to your data loss: how big is your current ‘important data drive’? I’ll offer to buy you a second drive (EIDE or SATA) for building a software raid1 mirror (as recognition of the importance of your OpenPCD work). Ever since I lost all my emails before 1992 I’ve started to do mirroring. Now I have something like 3GB of raid1 mirrored data, and off-site backups for all important stuff
Out of many boxes, I have something like four to five disks every year crashing.
data loss is inevitable, given todays data density and hard disk pricing (consumer commodity device)…
SVN revision 83 should solve your problems with the FT2232, see OpenOCD - Open On-Chip Debugger - berlios.de for information about the changes.
Regarding your generous offer: You’re naming the worst/best aspect of my harddrive setup - it’s heavily distributed. Unfortunately/luckily, there’s no single drive holding all my important data. It’s rather spread over all the machines I’m running, and over all the harddisks in those machines, making backups difficult. One of the next things on my todo-list, aside from OpenOCD development, is a backup-system to copy all important data to one drive which is then going to be mirrored. Guess the first step would be to identify “important data”. Not sure if this is going to be my server or my current desktop machines. The server is probably going to remain the same for a longer time, but the desktop lives in a less hazardous environment. The server also has the older drives, making it a more likely candidate for a crash?
Regards,
Dominic