Building OpenOCD for Windows ---------------------------- For building on Windows, you have to use CygWin. Make sure that your PATH environment variable contains no other locations with Unix utilities (like UnxUtils). Those tools can't handle the CygWin paths, resulting in obscure dependency errors. This was an observation gathered from the logs of one user; please correct us if this is wrong. The following URL is a good reference if you want to build OpenOCD under CygWin: http://forum.sparkfun.com/viewtopic.php?t=11221 Alternatively you can build the Windows binary under Linux using MinGW cross compiler. The following documents some tips of using this cross build option. libusb-win32 ------------ You can choose to use the libusb-win32 binary distribution from its SourceForge page. As of this writing, the latest version is 0.1.12.2. This is the recommend version to use since it fixed an issue with USB composite device and this is important for FTDI based JTAG debuggers. http://sourceforge.net/projects/libusb-win32/ You need to download the libusb-win32-device-bin-0.1.12.2.tar.gz package. Extract this file into a temp directory. Copy the file libusb-win32-device-bin-0.1.12.2\include\usb.h to your MinGW include directory. Copy the library libusb-win32-device-bin-0.1.12.2\lib\gcc\libusb.a to your MinGW library directory. Take note that different Linux distributions often have different MinGW installation directory. Some of them also put the library and include into a separate sys-root directory. When the libusb-win32 repository is more current than its release code, you could build that instead. These are the instruction from the libusb-win32 Makefile: # If you're cross-compiling and your mingw32 tools are called # i586-mingw32msvc-gcc and so on, then you can compile libusb-win32 # by running # make host_prefix=i586-mingw32msvc all libftdi ------- The author does not provide Windows binary. You can build it from a released source tarball or the git tree. If you are using the git tree, the following are the instructions from README.mingw. You will need to have the cmake utility installed. - Edit Toolchain-mingw32.cmake to point to the correct MinGW installation. - Create a build directory like "mkdir build-win32", e.g in ../libftdi/ - cd into that directory and run "cmake -DCMAKE_TOOLCHAIN_FILE=../Toolchain-mingw32.cmake .." - Copy src/ftdi.h to your MinGW include directory. - Copy build-win32/src/*.a to your MinGW lib directory. libftd2xx --------- The Cygwin/Win32 ZIP file contains a directory named ftd2xx.win32. After being extracted, the directory does not need further preparation. Instead, its path must be provided to the --with-ftd2xx-win32-zipdir configure option, as shown in the next section. OpenOCD ------- Now you can build OpenOCD under Linux using MinGW. You need to use --build and --host configure options. To use libftdi: ./configure --build=i686-pc-linux-gnu --host=i586-mingw32msvc \ --enable-ft2232_libftdi \ ... other options ... To use ftd2xx: ./configure --build=i686-pc-linux-gnu --host=i586-mingw32msvc \ --enable-ft2232_ftd2xx \ --with-ftd2xx-win32-zipdir=/path/to/libftd2xx-win32 \ ... other options ... If you are using the GIT repository, see the README file for additional instructions about configuring and building OpenOCD.