文章總列表

閒聊: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沒什麼差別,我就降回來了,用得心安理得最重要


留言

這個網誌中的熱門文章

幼犬書桌椅選擇心得 升降桌 兒童桌椅

STM32 UART + DMA,使用HAL實作TX/RX,以及不定長度接收

CANON G3000 廢墨瓶改裝