On Mon, Jan 7, 2013 at 11:38 PM, Thomas Jarosch
<thomas.jarosch@xxxxxxxxxxxxx> wrote:
>> Another thing, do not use libusb-1.0.9 under Windows, it is totally
>> broken. The git version is better. You can look at the git log and see
>> that there are a few Windows related critical fix after the libusb-1.0.9
>> release. http://git.libusb.org/?p=libusb.git;a=shortlog;js=1
>>
>> But the fork libusbx is way better under Windows since it promises
>> faster release.
>> http://libusbx.org/
>
> Hmm, Xiaofan, I'm wondering if we should mention this in the
> "README.mingw".
>
> In fact it even mentions libusb 0.1.12 :o)
>
> Care to send a patch?
>
Ok. Here is the draft for review first before I format it as
a patch.
A. How to cross compile libftdi-1.x for Windows?
1 - To cross-compile for Win32 with mingw, you need to
have libusb-1.0 for Windows. libusbx is a fork of libusb-1.0
project which has gain popularity under Windows and Linux.
Therefore the instruction here uses libusbx. The process to
use libusb-1.0 from libusb.org is similar but take note it
does not offer Windows binary as of Jan 09 2013.
2 - Get libusbx Windows release binary from Sourceforge.
http://sourceforge.net/projects/libusbx/files/releases/
3 - The release version is libusbx-1.0.14-win.7z (706.2KB) as of
Jan 09, 2013.
4 - Alternatively you can also build form the release source tar ball
or the git source tree following standard cross compile process
5 - Copy include/libusbx-1.0/libusb.h to the include directory of your
cross compiler, eg.,
/opt/cross/i386-mingw32msvc/include/
6 - Copy MinGW32/static/libusb-1.0.a and MinGW32/dll/libusb-1.0.dll.a
to the library directory of your cross compiler, eg.,
/opt/cross/i386-mingw32msvc/lib/
7 - Create a build directory like "mkdir build-win32", e.g in ../libftdi/
8 - edit Toolchain-mingw32.cmake to reflect your cross compiler location.
9 - cd in the build and run
"cmake -DCMAKE_TOOLCHAIN_FILE=../Toolchain-mingw32.cmake .."
10 - Copy src/ftdi.h to the include directory of your cross compiler,
eg., /opt/cross/i386-mingw32msvc/include/
11 - Copy build-win32/src/*.a to the library directory of your cross compiler,
eg., /opt/cross/i386-mingw32msvc/lib/
B. How to run libftdi-1.x under Windows
libusbx (or libusb-1.0) Windows backend will rely on a proper driver to run.
Please refer to the following wiki page on the instruction of
installation of the proper driver.
https://github.com/libusbx/libusbx/wiki/Windows-Backend#wiki-How_to_use_libusbx_on_Windows
As of Jan 09 2013, libusb-1.0 Windows backend only supports WinUSB
and libusbx's support of libusb0.sys and libusbk.sys are considered less
mature than WinUSB. Therefore, WinUSB driver installation using Zadig
is recommended.
Take note once you replace the original FTDI driver with WinUSB driver,
you can no longer use the functionality the original FTDI driver provides
(eg. Virtual Serial Port or D2XX).
--
Xiaofan
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx
|