first of all, I would like to thank you for your perfect piece of code. We are very satisfied with it. We use it to program STR711 processors with Amontec USB Key. There is one thing, that would make our life easier and happier. Our toolchain consists of STR711 processor (device #0) and Coolrunner XPLA3 CPLD (device #1). Daisychain works, configuration for OpenOCD is probably right. I’m able to program STR711 from OpenOCD (with Amontec USB Key) and XPLA3 from Xilinx webpack over Xilinx PP cable. We would appreciate to be able to program XPLA3 from OpenOCD via USB Key. I tried to do following thing: In Webpack, I generated xsvf file, which (for the beginning) only erases CPLD. In this xsvf, the daisy chain is full, includes the STR711 chip, Then I entered following command into openocd:
xsvf plain erase.xsvf
OpenOCD halts with following error:
Error: ft2232.c:451 ft2232_add_pathmove(): BUG: pd → tlr isn’t a valid TAP transition
Can you tell me, what is wrong? Is there a possibility to correct this bug/TODO? Or is there something wrong I did?We would be very glad to be able to do this. I would like to help you improve this perfect program.
Thank you and best regards
Petr Masek
My OpenOCD config:
telnet_port 4444
gdb_port 3333
interface ft2232
ft2232_device_desc “Amontec JTAGkey A”
ft2232_layout jtagkey
ft2232_vid_pid 0x0403 0xcff8
jtag_speed 0
reset_config trst_and_srst srst_pulls_trst
jtag_device 5 0x01 0x0f 0x05045093
jtag_device 4 0x01 0x0f 0x0e
daemon_startup reset
target arm7tdmi little run_and_halt 1 arm7tdmi
run_and_halt_time 0 150
working_area 0 0x2000C000 0x4000 nobackup
flash bank str7x 0x40000000 0x00040000 0 0 STR71x 0
looks like there is a bug in the XSVF handling code. I’ll have to check XSVF documentation a bit more, but I think a small change in xsvf.c is all that’s required to make this work.
I’ll report back tomorrow (hopefully, i.e. if I find enough time).
thank you for your replies. It really looks like some (hopefully small) bug in OpenOCD XSVF player. The daisy chain I’ve created in Impact during XSVF recording is the same one which I use for programming cpld directly from the Impact(over Xilinx PP), so I had to specify IR length correctly. I get this error even if the CPLD is the only device in the chain.
Thank you very much and I hope we will get it work.
Amontec will provide the ‘how-to’ program a XILINX VIRTEX XC4VLX25
7.9Mbits bit stream) at 2.8 seconds using the Amontec JTAGkey !
On next Monday, your Amontec JTAGkey will be close to the speed of a Xilinx Platform Cable USB for programming any FPGA and CPLD vendors (Altera Xilinx Lattice Cypress …)