Building OpenOCD for Windows ---------------------------- 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 host. See README for the generic instructions. Native MinGW-w64/MSYS compilation ----------------------------- 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/ Then simply unzip the archive to the root directory of your MinGW-w64 installation. USB adapters ------------ You usually need to have WinUSB.sys (or libusbK.sys) driver installed for a USB-based adapter. 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 Zadig installer: http://sourceforge.net/projects/libwdi/files/zadig/ 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.