Re: [Fx2lib-devel] fx2lib & stdbool.h
Status: Beta
Brought to you by:
mulicheng
From: Xiaofan C. <xia...@gm...> - 2011-03-15 12:36:29
|
On Tue, Mar 15, 2011 at 6:02 PM, Chris McClelland <fx...@m3...> wrote: > Hi Xiaofan, > > I would be very interested in helping you & Travis with this > testing/benchmarking effort. I have used libusb-0.1 on Linux and > libusb-win32 on Windows for several years. And I think (at last!) I have > a fair understanding of the FX2LP and its many quirks. > > For example if you can tell me what you need the firmware to do (e.g > sink any host writes to EP6 or source data on EP2 for host reads) I > could write some firmware for you (using fx2lib of course!), test it > locally, provide a libusb-win32 program to show it working, and tell you > exactly what you need to do (if anything) with the hardware to make it > work. > > If you want to talk offline my Skype ID is "prophet36" and I'm based in > the UK timezone. Thanks a lot for the offer. The main thing about the benchmark firmware is that it is quite flexible. Just take a look at the following config code and you will see that it supports either single interface device or dual interface device and the endpoint type is also configurable (Interrupt, Bulk and Isochronous transfer). http://code.google.com/p/usb-travis/source/browse/trunk/BmFW/MCP/USB_Device_Benchmark/Firmware/usb_config.h The basic firmware is not that complicated, it supports a few vendor specific control transfer commands for test mode selection and then the usual read/write/loopback stuff. http://code.google.com/p/usb-travis/source/browse/trunk/BmFW/MCP/USB_Device_Benchmark/Firmware/Benchmark.c The main host testing code is written in C# with libusbdotnet. http://libusbdotnet.svn.sourceforge.net/viewvc/libusbdotnet/trunk/stage/BenchmarkCon/BenchmarkHelp.txt?revision=109&view=markup There is a port in C in the libusb-win32 project as well but may not be as complete as the C# version. It would be good to test high speed high bandwidth isochronous transfer with FX2/FX2LP. We know that the current libusb0.sys may not work with well but hopefully we can address this issue with the new libusbk.sys. Currently libusb-1.0 Windows backend only supports WinUSB which does not support isochronous transfer. With libusb0.sys and libusbk.sys backend in the future we hope that it will support isochronous transfer under Windows, just like under Linux and Mac OS X. -- Xiaofan |