From: Johann Glaser <Johann.G<laser@gm...> - 2002-03-24 22:30:59
Yesterday I developed a very small FPGA configuration downloading
program for Linux. It simply took a .rbt file and pushed it into the
Therefore I wrote my own 8051 firmware for the EZ-USB chip because the
CESYS interface is undocumented.
After playing a while I found the last errors and bugs and HURRA it
worked. A simple 12kByte linux executable.
Today I cleaned up, added some more features, made several .c files
splited by function (read rbt, read exo, read intel hex, download
firmware, download fpga config, ...) and now the executable has 15kByte.
The program uses libusb (see http://libusb.sf.net/) so no kernel module
is necessary. But it depends on usbdevfs (mounted at /proc/bus/usb). If
a non-root user wants to execute the program this usbdevfs must have
accurate access rights (set by module parameters, invoke chmod by hand,
Is anybody interested in this program? Hmm, we should manage to upload
it to our SourceForge account. Any ideas? Shall we use CVS?
Downloading the FPGA is done in astonishing 6 seconds, which is just a
fraction of the windows duration. Perhaps the windows program can be
Another speedup could be achieved using isochronous pipes instead of
simple bulk pipes. But libusb doesn't support them, so a kernel module
is necessary. Since the Windows driver supports isochronous transport I
think it is expected that the linux drivers should too.
I talked to the libusb developers and they said, that isochronous pipes
will not be supported in the near future due to problems specifying a
Johann Glaser <Johann.Glaser@...>
Vienna University of Technology