配置Clion時jlink下載問題
?解決clion使用jlink下載時,openocd無法識別jlink的問題,LIBUSB_ERROR_NOT_SUPPORTED
?「解決方法」
當我們使用 openocd + j-link 進行燒錄和調試時,會接收到這樣的警告:Warn : Failed to open device: LIBUSB_ERROR_NOT_SUPPORTED,最后發(fā)現(xiàn)找不到 j-link:Error: No J-Link device found,但是我們在檢查時,發(fā)現(xiàn)電腦識別jlink,且keil中也可以通過jlink進行下載。
在 SEGGER 的維基中提到了原因:
簡單來說就是 openocd 使用 jlink 的方式很低級,所以我們需要把 j-link 原來的驅動更換為 WinUSB 驅動才可以被 openocd 識別。
zadig 和 USBDriverTool 都可以更換驅動,網(wǎng)上絕大部分的教程都推薦使用 zadig,但是其實 USBDriverTool 在這個場景下更適用,原因是 USBDriverTool 不但可以將 j-link usb 驅動轉為 WinUSB 驅動,還可以再轉換回去,這個是 zadig 做不到的。
SEGGER 的維基中還提到了一點:
也就是說,我們把 j-link 的驅動轉換成 openocd 可以識別的 WinUSB 驅動之后,j-scope,j-flash 等軟件都無法使用,也無法在 KEIL 中使用 j-link 燒錄和調試程序了。如果想使用這些工具,就必須把驅動還原回去,這時候 USBDriverTool 就派上用場了。
偏題一下,使用 openocd + j-link 是一種比較低效的方式,如果使用 j-link 作為調試器,那么使用 j-link gdb server 或者強大的 ozone 可能更為合適一些。
「操作步驟」
首先插好 j-link ,打開軟件,并選擇List All Devices:

最后設備選擇 j-link ,要更換的驅動選擇 WinUSB ,最后點擊Replace Driver即可完成驅動的替換。值得一提的是,這里可以看到 j-link原來的驅動被識別為 jlink(v2.6.8.1),我們如果要把驅動換回去,就要恢復成現(xiàn)在的樣子。

軟件鏈接:https://pan.baidu.com/s/1QOPRzPyXnhRN1DGHjiLWaw?pwd=ia44 提取碼:ia44
注:若有解壓碼,則見公眾號頁面菜單,“點擊資料”中“獲取密碼”即可

本文使用?文章同步助手?同步