2013-09-11 21:05:16 +00:00
|
|
|
Building OpenOCD for Windows
|
|
|
|
----------------------------
|
|
|
|
|
2013-09-19 15:21:35 +00:00
|
|
|
You can build OpenOCD for Windows natively with either MinGW-w64/MSYS
|
|
|
|
or Cygwin (plain MinGW might work with --disable-werror but is not
|
|
|
|
recommended as it doesn't provide enough C99 compatibility).
|
|
|
|
Alternatively, one can cross-compile it using MinGW-w64 on a *nix
|
2013-09-11 21:05:16 +00:00
|
|
|
host. See README for the generic instructions.
|
|
|
|
|
2015-01-27 10:37:51 +00:00
|
|
|
Also, the MSYS2 project provides both ready-made binaries and an easy
|
|
|
|
way to self-compile from their software repository out of the box.
|
|
|
|
|
2013-09-19 15:21:35 +00:00
|
|
|
Native MinGW-w64/MSYS compilation
|
2013-09-11 21:07:59 +00:00
|
|
|
-----------------------------
|
|
|
|
|
|
|
|
As MSYS doesn't come with pkg-config pre-installed, you need to add it
|
|
|
|
manually. The easiest way to do that is to download pkg-config-lite
|
|
|
|
from:
|
|
|
|
|
|
|
|
http://sourceforge.net/projects/pkgconfiglite/
|
|
|
|
|
2013-09-19 15:21:35 +00:00
|
|
|
Then simply unzip the archive to the root directory of your MinGW-w64
|
2013-09-11 21:07:59 +00:00
|
|
|
installation.
|
|
|
|
|
2013-09-11 21:05:16 +00:00
|
|
|
USB adapters
|
|
|
|
------------
|
|
|
|
|
2015-01-27 10:37:51 +00:00
|
|
|
For the adapters that use a HID-based protocol, e.g. CMSIS-DAP, you do
|
|
|
|
not need to perform any additional configuration.
|
|
|
|
|
|
|
|
For all the others you usually need to have WinUSB.sys (or
|
|
|
|
libusbK.sys) driver installed. Some vendor software (e.g. for
|
|
|
|
ST-LINKv2) does it on its own. For the other cases the easiest way to
|
|
|
|
assign WinUSB to a device is to use the latest Zadig installer:
|
2013-09-11 21:05:16 +00:00
|
|
|
|
2014-02-06 19:47:46 +00:00
|
|
|
http://zadig.akeo.ie
|
2013-09-11 21:05:16 +00:00
|
|
|
|
2015-01-27 10:37:51 +00:00
|
|
|
When using a composite USB device, it's often necessary to assign
|
|
|
|
WinUSB.sys to the composite parent instead of the specific
|
|
|
|
interface. To do that one needs to activate an advanced option in the
|
|
|
|
Zadig installer.
|
|
|
|
|
2013-09-11 21:05:16 +00:00
|
|
|
For the old drivers that use libusb-0.1 API you might need to link
|
|
|
|
against libusb-win32 headers and install the corresponding driver with
|
|
|
|
Zadig.
|
2014-03-22 13:09:06 +00:00
|
|
|
|
|
|
|
If you need to use the same adapter with other applications that may
|
|
|
|
require another driver, a solution for Windows Vista and above is to
|
|
|
|
activate the IgnoreHWSerNum registry setting for the USB device.
|
|
|
|
|
|
|
|
That setting forces Windows to associate the driver per port instead of
|
|
|
|
per serial number, the same behaviour as when the device does not contain
|
|
|
|
a serial number. So different drivers can be installed for the adapter on
|
|
|
|
different ports and you just need to plug the adapter into the correct
|
|
|
|
port depending on which application to use.
|
|
|
|
|
|
|
|
For more information, see:
|
|
|
|
|
|
|
|
http://msdn.microsoft.com/en-us/library/windows/hardware/jj649944(v=vs.85).aspx
|
|
|
|
http://www.ftdichip.com/Support/Knowledgebase/index.html?ignorehardwareserialnumber.htm
|