X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=README.Windows;h=6c616f38accf41688276baa60095ae2239ef87e6;hp=1e9c49631d32dd2d088afe69cea904db249723ab;hb=8b9560349fb78887d8e353e20b303966d9ac2d1b;hpb=10df176b0fb932d61f0dc5d6bfd0a0942501fc40;ds=sidebyside diff --git a/README.Windows b/README.Windows index 1e9c49631d..6c616f38ac 100644 --- a/README.Windows +++ b/README.Windows @@ -1,20 +1,60 @@ Building OpenOCD for Windows ---------------------------- -You can build OpenOCD for Windows natively with either MinGW/MSYS or -Cygwin. Alternatively, one can cross-compile it using MinGW on a *nix +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. +Also, the MSYS2 project provides both ready-made binaries and an easy +way to self-compile from their software repository out of the box. + +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: +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: - http://sourceforge.net/projects/libwdi/files/zadig/ + http://zadig.akeo.ie + +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. 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. + +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