解決j-link無法使用以及keil識別出山寨j-link的解決方法

mingyuan_liu發表於2017-03-17

當我們拿著TB上賣的80塊錢一個的J-link ARM山寨除錯模擬器做學習或者開發時,突然,你的J-link指示燈停止閃爍了。這時候請不要著急,這很可能是J-link內部韌體損壞的問題,只要我們重新給他刷上新的韌體,一般來說就能使用了。
這裡不再累述如何刷韌體的具體操作,不知道的朋友可以去看我上傳的資料裡面的說明或者去網上百度就行了。我這裡想說的是在刷韌體的過程中通常會遇到的問題。

1) j-link按照刷韌體教程中的操作,完成了將TST引腳短接後再與PC機相連時無法正常下載驅動或者SAM-PROG中的write flash鍵為灰色無法使用的問題。
2) j-link韌體重新整理完成後,連線到keil,keil提示firmware update,完成update後keil識別出j-link是克隆的 如下圖:

圖1-1

首先解決第一個問題,我們需要換一個windows xp 或者windows 7 32位作業系統即可。這是由於我們刷韌體其實就是給j-link裡面的AT91SAM7S64燒寫程式程式碼,如果使用windows7 64位作業系統沒有開發出對應的上位機串列埠驅動程式,但xp和32位作業系統下有。

然後是第二個問題,我們把J-link韌體重新整理完成後,使用keil除錯程式的時候,它會彈出提示我們更新韌體的視窗,如果這個時候你選擇了是,那好keil就會識別出你的山寨J-link出現圖1-1所示的視窗,然後強制退出。當然,也有可能你選擇了否仍然出現了識別出山寨版的視窗。那我們如何來解決這個問題呢?
我們可以利用keil的一個漏洞,由於keil無法檢測出老版本的j-link,我們可以將j-link還原到過去的老版本,keil就無法檢測出來了。

我們首先下載一個老版本的J-link驅動程式,並且安裝。我所給的資源裡面的為v4.40的版本。
然後開啟j-link ARM這個程式。
圖1-2

往裡面輸入 exec invalidatefw 命令,將裡面的韌體版本還原到以前的版本。
圖1-3
keil也得還原,我們將keil安裝目錄下ARM/Segger資料夾中的這兩個檔案替換成我所給的兩個同名檔案。
圖1-4
最後還有一個問題,如果你完成上面的步驟但是發現在keil的flashdownload 視窗裡面沒有自己所需要的晶片的flash型別。
圖1-5
這是由於你將j-link的版本還原到了這個晶片出廠以前,那當然不會支援你所需要的晶片的flash了啊,你要做的就是再找個比你要用的晶片晚出現但是要低於4.6版本的j-link驅動,重複上述的步驟。
j-link韌體、j-link ARM v4.40驅動、Segger資料夾中所需要替換的檔案的下載連結:
http://pan.baidu.com/s/1o8DHhMy
密碼為:b3gh

相關文章