Noted with Xilinx svf files, (once my other patch is applied to let it
read the whole line), programming is _very_ slow.

I have adjusted usb_blaster.c to allow it to send a larger buffer all at
once when written (see attached patch), but this is not the main issue.
(Only tested with a CY7C68013A based usb_blaster firmware from www.ixo.de)

The logs from that patch show that during the main TDI (~47,600 long),
after every 2 output writes (1 TCK cycle), for some reason it tries to
read, despite the fact that this SDR instruction has no TDO component!

I think the issue is todo with svf.c:1400(ish), where for some reason the TDI 
buffer is assigned to both field.out_value (The TDI data) and field.in_value 
(The TDO data?), which when the jtag_scan_type is called, makes it return 
SCAN_IO when it should only be SCAN_IN.
Because it is SCAN_IO, something like bitbang.c:bitbang_scan performs a
read in the middle of every TCK cycle - making it very slow because of
the size of USB latencies.

I have been unable to (over the last day) patch svf.c to avoid this,
whilst still making it work correctly.
Perhaps the person who wrote it originally, or somebody else could
provide a few hints here?
-Ali

Attachment: usb_blaster.patch
Description: Binary data

_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to