FPGARelated.com
Forums

Digilent USB support from Xilinx Impact (Programmer cable SDK for Impact)

Started by zcsi...@gmail.com August 24, 2006
I've created a patch for Impact so it supoorts Digilent USB. This patch
could be modified to become some kind of SDK for different programmer
cable which are not supported by Impact.

So here is my survey. What kind of programmer cables would you like to
use with Impact?

Regards,

Zoltan

zcsizmadia@gmail.com <zcsizmadia@gmail.com> wrote:
> I've created a patch for Impact so it supoorts Digilent USB. This patch > could be modified to become some kind of SDK for different programmer > cable which are not supported by Impact.
> So here is my survey. What kind of programmer cables would you like to > use with Impact?
For me, the biggest problem (with impact on linux) is the use of the windriver. It needs a recompile for every kernel update, it doesn't play nice with with other users of the parallel port (the normal lp module), it creates a security hole as big as a barn door, it taints the kernel and is usefull as a P.I.T.A. as ppdev/libusb could deliver the needed functionality for free. Otherwise, the MPSSE mode of the FT2232 would be welcome. B.t.w, I'll try to get MPSSE running for xilprog a.s.a.p. -- Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt --------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
My version works only on Win32 :(
I do a lot of embedded Linux stuff, but I prefer my Windows desktop :)

Uwe Bonnes wrote:
> zcsizmadia@gmail.com <zcsizmadia@gmail.com> wrote: > > I've created a patch for Impact so it supoorts Digilent USB. This patch > > could be modified to become some kind of SDK for different programmer > > cable which are not supported by Impact. > > > So here is my survey. What kind of programmer cables would you like to > > use with Impact? > > For me, the biggest problem (with impact on linux) is the use of the > windriver. It needs a recompile for every kernel update, it doesn't play > nice with with other users of the parallel port (the normal lp module), it > creates a security hole as big as a barn door, it taints the kernel and is > usefull as a P.I.T.A. as ppdev/libusb could deliver the needed functionality > for free. > > Otherwise, the MPSSE mode of the FT2232 would be welcome. > > B.t.w, I'll try to get MPSSE running for xilprog a.s.a.p. > > -- > Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de > > Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt > --------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
zcsizmadia@gmail.com wrote:

> My version works only on Win32 :( > I do a lot of embedded Linux stuff, but I prefer my Windows desktop :)
How'd you patch it? It should be possible to port your change over to Linux (perhaps using a different technique but the mechanics of your patch should still apply) -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C
I inject a dll into the impact.exe, and hook DeviceIoControl and some
other kernel32 APIs. impact.exe calls DeviceIoControl to read/write LPT
I/O port using windriver6 driver. Instead of calling original windrvr
DeviceIoControl function I just forward the TMS/TDI/TDO/TCK bits  to
Digilent USB (or any other programmer cable).

On linux the easiest could be to create a brand new windrvr emulator
driver where we implement all the IOCTLs used by impact. BTW, I have no
clue why they are using the windriver as a device driver, because all
the features they do with the Jungo driver ius really simple and
generic(eg: user mode I/O access, USB acces to device, etc.)

Zoltan

zcsizmadia@gmail.com wrote:
> I've created a patch for Impact so it supoorts Digilent USB. This patch > could be modified to become some kind of SDK for different programmer > cable which are not supported by Impact. > > So here is my survey. What kind of programmer cables would you like to > use with Impact? > > Regards, > > Zoltan >
Actually the question I have is what kinds of programmer cables can I use with linux. Impact -- I'd just as soon not use it. I prefer open source command line utilities. In fact I want everything to be a command line utility -- get rid of the IDE's. I use my own editor and "make" and I'm happy. -Dave -- David Ashley http://www.xdr.com/dash Embedded linux, device drivers, system architecture
zcsizmadia@gmail.com schrieb:

> I've created a patch for Impact so it supoorts Digilent USB. This patch > could be modified to become some kind of SDK for different programmer > cable which are not supported by Impact. > > So here is my survey. What kind of programmer cables would you like to > use with Impact? > > Regards, > > Zoltan
Zoltan, here is the survey ==> and and all. if you do want todo some work on the topic, it makes WAY more sense to "discover" the Impact CableServer protocol, in that way you dont need to patch anything, you can support both win and linux and you can be either adding 3rdr party programmer support to impact by using 3rd party "cableserver" or you can add support for impact supported cables to 3rd party hardware. the protocol is easy to figure out, start cableserver with debug logging, then etherreal and run impact and make some notices, then start your own cableserver and monitor difference in the comms. I have done preliminary work for this, but unfortunatly I have not enought time right now for this task.If you are interested I can give all the info and programs I have (partial cableserver emu). If you need some Xilinx board I could have some overleft to 'sponsor' the project. Antti XSIM => MicroBlaze+uClinux Simulator (open plugin SDK) http://xilant.com
zcsizmadia@gmail.com <zcsizmadia@gmail.com> wrote:
> I inject a dll into the impact.exe, and hook DeviceIoControl and some > other kernel32 APIs. impact.exe calls DeviceIoControl to read/write LPT > I/O port using windriver6 driver. Instead of calling original windrvr > DeviceIoControl function I just forward the TMS/TDI/TDO/TCK bits to > Digilent USB (or any other programmer cable).
Do you do this without the windriver header file?
> On linux the easiest could be to create a brand new windrvr emulator > driver where we implement all the IOCTLs used by impact. BTW, I have no > clue why they are using the windriver as a device driver, because all > the features they do with the Jungo driver ius really simple and > generic(eg: user mode I/O access, USB acces to device, etc.)
-- Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt --------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
David Ashley <dash@nowhere.net.dont.email.me> writes:

> Actually the question I have is what kinds of programmer cables can > I use with linux. Impact -- I'd just as soon not use it. I prefer open > source command line utilities. In fact I want everything to be a > command line utility -- get rid of the IDE's. I use my own editor > and "make" and I'm happy. >
I've done just this in Linux with a bit of makefile like this: prog: work/$(TOP).bit @echo "setPreference -pref StartupCLock:AUTO_CORRECTION" > work/impact.c md @echo "setMode -bs" >> work/impact.cmd @echo "setCable -port auto" >> work/impact.cmd @echo "Identify" >> work/impact.cmd @echo "setAttribute -position 1 -attr configFileName -value $(TOP).bit" >> work/impact.cmd @echo "Program -p 1 " >> work/impact.cmd @echo "quit" >> work/impact.cmd cd work && impact -batch impact.cmd make prog then does the work... Of course, ideally, ditching Impact would be good ;-) Cheers, Martin -- martin.j.thompson@trw.com TRW Conekt - Consultancy in Engineering, Knowledge and Technology http://www.conekt.net/electronics.html
zcsizmadia@gmail.com wrote:
> I've created a patch for Impact so it supoorts Digilent USB. This patch > could be modified to become some kind of SDK for different programmer > cable which are not supported by Impact. > > So here is my survey. What kind of programmer cables would you like to > use with Impact? > > Regards, > > Zoltan >
The support of Amontec JTAGkey would be very nice (based on FTDI FT2232 - FT2232L to be green). The Amontec JTAGkey is one of the only USB JTAG POD with very large io voltage range (all IOs can drive at 24mA) ! goto http://www.amontec.com/jtagkey.shtml Note: We are working on a new version cheaper but without ESD-EMI overvoltage ... protection and for 5V to 2.8V only. Coming in the next two weeks. We are working on our own .dll for controlling the JTAGkey integrating JTAG layer. Let me know if you want to receive one Amontec JTAGkey as sample (we will ship to you without any charge for you), this can be help for your integration. If interested, send me an email to laurent DOT gauch @ amontec DOT com Regards, Laurent www.amontec.com