近日我們在使用Open OCD調用時發現無法識別目前新版本的J-Link,而使用之前硬件版本的J-Link是可以正常使用的。

我們猜測,應該是JLink新的硬件平臺導致Open OCD無法識別,根據修改USB驅動的軟件Zadig對比發現,新的硬件版本J-Link增加了WICD功能。
0
1
【解決辦法】
首先,需要注意的是,OpenOCD并沒有使用JLink原有的驅動,它只是將JLink作為一個普通的USB設備,因此需要借助ZADIG工具給JLink重新安裝USB驅動,具體操作如下:
1.建議先安裝最新版本的J-Link軟件,地址在J-Link原廠SEGGER官方網站上即可免費下載(SEGGER - The Embedded Experts - Downloads - J-Link / J-Trace)。
2.如果已經把J-Link驅動替換成libusbK了,就需要在Windows的設備管理器里面找到libusbK USB Devices,卸載下面的J-Link驅動,然后重新插拔J-Link。如果libusbK USB Devices仍然出現就再卸載一次,直到插拔J-Link之后不再出現。

3.運行J-Link Configurator,在J-Link設備上右鍵選擇Configure,把USB Driver從WinUSB改為SEGGER,然后插拔一次J-Link。

4.運行Zadig軟件,選擇Options,選中List All Devices,然后下拉選中J-Link。

5.此時我們就發現驅動類型從WinUSB變為jlink,而WCID功能變為為無效。這個時候再按照常規操作將驅動替換為libusbK。

6.再運行OpenOCD,結果如下,成功檢測到jlink。
