98 lines
3.3 KiB
Plaintext
98 lines
3.3 KiB
Plaintext
|
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.
|
||
|
|
||
|
If there is a new svn version of libusb-win32, you can build it as well.
|
||
|
|
||
|
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 SVN repository, see the README file for additional
|
||
|
instructions about configuring and building OpenOCD.
|