Hi all, I recently bought a new laptop so decided to make a new wiggler that works on USB. I made a PCB of the jtagkey schematic (except I added RX/TX pins to the header) at: http://modularcircuits.com/usb_programmer.htm and the MProg settings from: http://www.ethernut.de/en/hardware/turtelizer/index.html and using the turtelizer driver that comes with openocd. and am having some trouble with getting it to work. I keep getting communication failure, and using a multimeter, the reset signals from the FT2232L IC do not chage states. (nTRST remains high and its enable low (enabled), nSRST low and its enable is always high) I am trying to program an AT91SAM7A3 that I know is working at least because it currently has usb code in it which enumerates when i plug it into a pc. The problem appears to be that signals are not coming out of the ft2232 properly. I get the following output from R204 openocd: Info: openocd.c:93 main(): Open On-Chip Debugger (2007-09-05 09:00 CEST) Debug: jtag.c:1407 jtag_init(): - Debug: ft2232.c:1296 ft2232_init_ftd2xx(): 'ft2232' interface using FTD2XX with 'jtagkey' layout (0403:bdc8) Debug: ft2232.c:1385 ft2232_init_ftd2xx(): current latency timer: 2 Debug: ft2232.c:1651 jtagkey_init(): 80 08 1b Debug: ft2232.c:1709 jtagkey_init(): 82 09 0f Debug: ft2232.c:253 ft2232_speed(): 86 00 00 Debug: jtag.c:295 jtag_call_event_callbacks(): jtag event: TRST asserted Debug: jtag.c:1197 jtag_reset_callback(): - Debug: jtag.c:295 jtag_call_event_callbacks(): jtag event: TRST asserted Debug: jtag.c:1197 jtag_reset_callback(): - Error: jtag.c:1253 jtag_examine_chain(): JTAG communication failure, check connection, JTAG interface, target power etc. Error: jtag.c:1440 jtag_init(): trying to validate configured JTAG chain anyway... Debug: jtag.c:295 jtag_call_event_callbacks(): jtag event: TRST asserted Debug: jtag.c:1197 jtag_reset_callback(): - Error: jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f Debug: jtag.c:295 jtag_call_event_callbacks(): jtag event: TRST asserted Debug: jtag.c:1197 jtag_reset_callback(): - Error: jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f Debug: jtag.c:295 jtag_call_event_callbacks(): jtag event: TRST asserted Debug: jtag.c:1197 jtag_reset_callback(): - Error: jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f Debug: jtag.c:295 jtag_call_event_callbacks(): jtag event: TRST asserted Debug: jtag.c:1197 jtag_reset_callback(): - Error: jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f Debug: jtag.c:295 jtag_call_event_callbacks(): jtag event: TRST asserted Debug: jtag.c:1197 jtag_reset_callback(): - Error: jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f Debug: jtag.c:295 jtag_call_event_callbacks(): jtag event: TRST asserted Debug: jtag.c:1197 jtag_reset_callback(): - Error: jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x3f Error: jtag.c:1448 jtag_init(): Could not validate JTAG chain, exit and my script is: telnet_port 4444 gdb_port 3333 #interface interface ft2232 ft2232_device_desc "Turtelizer JTAG/RS232 Adapter A" ft2232_layout "jtagkey" ft2232_vid_pid 0x0403 0xBDC8 jtag_speed 0 jtag_nsrst_delay 2000 jtag_ntrst_delay 2000 #use combined on interfaces or targets that can't set TRST/SRST separately reset_config srst_only srst_pulls_trst #jtag scan chain #format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE) jtag_device 4 0x1 0xf 0xe #target configuration daemon_startup reset #target <type> <startup mode> #target arm7tdmi <reset mode> <chainpos> <endianness> <variant> target arm7tdmi little run_and_init 0 arm7tdmi run_and_halt_time 0 30 # flash-options AT91 target_script 0 reset openocd_at91sam7a3_flash.script working_area 0 0x00200000 0x4000 nobackup flash bank at91sam7 0 0 0 0 0 I've tried a lot of changes in the script, and even tried some other drivers, and openocd R141, but still get the same communication failure. Has anyone made a FT2232 wiggler that can help me as I am starting to run out of ideas?
Hello, what kind of hardware debugger you have? If you have the turtelizer, you must use the correct settings: ft2232_device_desc "Turtelizer JTAG/RS232 Adapter A" ft2232_layout turtelizer2 You must use the turtelizer2 layout and NOT the jtagkey. Regards, Michael
Hi, Thanks Michael. I used the turtelizer2 driver because it was the only place I could find that showed how to program the FT2322 with MProg and the PID (pretty simple really). I just tried reprogramming the key with a PID of CFF8 (amontec ID), and installed the jtagkey drivers, but got the same output. I've attached the schematic of my hardware. It is actually jtagkey equivalent hardware (I think) except I put TX/RX from channel B to the header for debugging. The schematic should be the same as: http://modularcircuits.com/usb_programmer.htm and also checked it should be the same as the amontech layout which there is a tip at: http://www.fh-augsburg.de/~hhoegl/proj/usbjtag/usbjtag.pdf I have so far only had a multimeter to use to check the operation, but I should be able to put a DSO on it tomorrow at work. Is there some other things I should check on the hardware tha might prevent reset from working? Thanks again, B Michael Fischer wrote: > Hello, > > what kind of hardware debugger you have? > If you have the turtelizer, you must use the correct settings: > > ft2232_device_desc "Turtelizer JTAG/RS232 Adapter A" > ft2232_layout turtelizer2 > > You must use the turtelizer2 layout and NOT the jtagkey. > > Regards, > > Michael
Hello, for OpenOCD, the best way is to take a look at this forum: http://forum.sparkfun.com/viewforum.php?f=18 If your device is equivalent to a jtagkey hardware, it should works with: #daemon configuration telnet_port 4444 gdb_port 3333 #interface interface ft2232 ft2232_device_desc "Amontec JTAGkey A" ft2232_layout jtagkey ft2232_vid_pid 0x0403 0xcff8 jtag_speed 0 jtag_nsrst_delay 200 jtag_ntrst_delay 200 #use combined on interfaces or targets that can't set TRST/SRST separately reset_config srst_only srst_pulls_trst #jtag scan chain #format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE) jtag_device 4 0x1 0xf 0xe #target configuration daemon_startup reset #target <type> <startup mode> #target arm7tdmi <reset mode> <chainpos> <endianness> <variant> target arm7tdmi little run_and_init 0 arm7tdmi run_and_halt_time 0 30 target_script 0 reset .\prj\sam7s_reset.script working_area 0 0x00200000 0x4000 nobackup #flash bank <driver> <base> <size> <chip_width> <bus_width> flash bank at91sam7 0 0 0 0 0 # For more information about the configuration files, take a look at: # http://openfacts.berlios.de/index-en.phtml?title=Open+On-Chip+Debugger This was working with a SM7S256 and a JTAGkey. Regards, Michael
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
Log in with Google account
No account? Register here.