99 lines
3.3 KiB
Plaintext
99 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.
|
|
|
|
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.
|