0

我正在尝试在具有 x64 架构的 Windows 8 上使用 OpenOCD。我通过 Zadig 安装了 WinUSB 驱动程序。我尝试以管理员权限运行 OpenOCD,并且在 WinUSB 安装期间禁用了 Windows 8 驱动程序签名强制。每当我尝试运行程序时,libusb_open 都会返回 LIBUSB_ERROR_NOT_SUPPORTED (-12)。

如何在 Windows 8 上正确运行 libusb-1.0?

PS:顺便说一句,我也尝试了与 Windows 7 x64 相同的配置,并且 OpenOCD 工作正常。

4

1 回答 1

2

会不会是您的设备是 USB 复合设备(例如最近带有 ST-LINKv2 加密狗的 STM32 开发板?)

在 Zadig 上,取消选中“Options::Ignore Hubs or Composite parents”并查看您的目标设备是否具有复合父项。

如果是这样,那可能是 Windows8/libusb-1.0 的限制。

@参见 http://www.emblocks.org/forum/viewtopic.php?f=19&t=478

您可能想尝试按照 libusb-1.0 站点上的说明将 WinUSB 附加到复合父级:http ://www.libusb.org/wiki/windows_backend 。

“但是,可以用 WinUSB 替换复合父驱动程序来访问设备。”

但这意味着所有复合设备都连接了 WinUSB,这可能是其他问题的根源。

于 2015-03-12T09:20:58.063 回答