關於J LINK公升級最新韌體後無法連上的一點分析

2021-09-06 19:08:55 字數 806 閱讀 9996

昨天公升級了最新的 keil mdk 4.53,怕它老是提示 j-link 要公升級,

就去 segger 的**下了個最新版的 j-link 軟體包(4.46f 版的),

裝好後執行 j-link commander 提示要公升級韌體。以前一直是刷的,沒有問題,

這次竟然公升級後連不上**器了。提示

"communication timed out: requested 1 bytes, received 0 bytes !"。

segger 終於開始玩花招了。

到 keil 裡開啟了以前的乙個工程,發現竟然還能除錯,

一看那 dll 的版本是 4.40c 的,看來是在 dll 裡做了些手腳。

今天用 ida 跟了一下 j-link commander,並對比了一下兩個動態庫的差別,

發現新版的在開啟 j-link 函式的過程裡多了兩個呼叫。

前乙個判斷了一下**器的功能字串裡是否有 gdbfull,

有就會多一步 usb 通訊,超時的就是這一步操作;

後乙個通過序列號槍斃了一些老的(被偷的?)j-link。看了一下 gdbfull 這個字串,

只在這裡用了一次,將其全部改為大寫,發現可以連上了。

另外,序列號為 11111117 和 805306163 的會強制校驗 gdbfull 功能。

大致上猜了一下,可能是 segger 更新了一下 gdbfull 功能與序列號的繫結演算法,

下面的韌體裡也應該改過了,那一步 usb 通訊就是下面返回上來的認證結果,

所以接收的只有乙個位元組。gdbfull 這個功能貌似從來沒有用過,反正我沒有用到過。

關於J Link重新刷韌體的一些問題

當你的j link的燈不再點亮的時候,你是否會懷疑它是壞了呢?先別急著下定論,j link沒那麼容易壞,多半是韌體出問題了。那麼怎麼才能找回當初的感覺呢?分成兩部分來說明一下 1.怎麼刷韌體?2.刷韌體後出現 clone 字樣怎麼解決。說明第一點之前先看第二點吧,網上有很多刷韌體的教程,刷完後更新會...

公升級WIN10 9879 後IE無響應的解決辦法

身為程式猿,當然有了新系統就要嚐嚐鮮,有win8時,哥是朋友圈第乙個用的,有win8.1時哥也是第乙個公升級的。要說win10安裝真是很強大,現有的系統我也沒備份,直接安裝的,等安裝好後才發現,win10把我舊系統的程式 設定什麼的全部原封不動的給我保留了,真是太貼心了 因為做web的,ie少不了,...

關於公升級Xcode版本後外掛程式不能用的問題解決

最近剛公升級了xcode6.4,然後就悲劇的發現以前裝的外掛程式都失效了。那麼問題就來了,我們該怎麼做才能讓外掛程式恢復正常呢。解決辦法當然就是將xcode當前版本的uuid加到外掛程式的info.plist中的dvtplugincompatibilityuuids中即可。那麼問題又來了。外掛程式可...