Convert DEBUG_JTAG_IO to LOG_DEBUG_IO
[openocd.git] / README.Windows
index 1e9c496..6c616f3 100644 (file)
@@ -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