閒聊:J-Link (2)
如果你的JLink V10不小心變磚塊,這篇文章介紹怎麼變回來
[背景介紹]
我長期用SEGGER J-Link開發,對工具超有愛。2019入手第二顆EDU"升級"V10,因為速度能跑上High Speed USB 480Mbits/s,好香啊!升級工具快上0.1秒,但是解Bug並沒有加速,一點用也沒有。沒關係,爽最重要
偶然看到中國的論壇有些指令,輸入竟然能給EDU增加功能,用不到心裡也爽
- Exec SetSN=XXXXXXXX
- Exec AddFeature GDB
- Exec AddFeature RDI
- Exec AddFeature FlashBP
- Exec AddFeature FlashDL
- Exec AddFeature JFlash
- Exec AddFeature RDDI
然後悲劇發生了:SEGGER增加保護,序號26開頭EDU不該有JFlash或RDI,升級韌體讓J-Link變磚,真是兇悍。解法也簡單,灌舊版Driver降級FW。敲進去的Feature不能還原,客人只是想從良還原也不能了...
- Exec InvalidateFW
[折騰]
後來找到這位BanXian(半仙)救回EDU軟體,可以返回原狀。好笑的是:軟體是用J-Link的韌體bug開發的
- EDUReViver -run revive
this payload remove all extra features - EDUReViver -run swd
this payload unlocking SWD debug port on PCB - EDUReViver -run swd off
this payload locking SWD debug port on PCB again - EDUReViver -run to11
this payload turns your V10 to V11. unplug and replug usb cable, then flash new firmware in jlink commander - EDUReViver -run to10
this payload turns your V11 to V10. unplug and replug usb cable, then flash new firmware in jlink commander
第一道命令拔除額外Features,這樣我的EDU變回原廠認證的正版了;第二道命令解開MCU的Debug Port,理論上保護就全沒了!第三道命令可以把V10變成V11,兩個版本硬體都一樣,差異只是軟體,來升級試試看
他應該是位開發者前輩,他應該很熟悉逆向工程的招數
[V11]
V11提供WINUSB支持,概念上是USB開發以往都得寫驅動程式,門檻很高。微軟提供一個通用程式能在User Space驅動USB裝置,當然是有些限制。我寫這篇文章時,正想用J-Link開發ESP32,有一步要換驅動程式為WinUSB,實在不舒服。JLINK竟然提供WINUSB,還真的能用
原因是ESP32使用OpenOCD軟體除錯,OpenOCD只認得WINUSB驅動程式,要用JLink得先換掉Driver。之後想花點時間在ESP32探險,就此先打住
V11看來和V10沒什麼差別,我就降回來了,用得心安理得最重要
留言