天天看點

jlink燒寫Nor Flash時出錯正确解決方法彙總:PC of target system has unexpected value after programming

成都國嵌的課程:國嵌體驗入門班-2-1(開發闆系統安裝-jlink方式).rar毒害了不少人,那種直接燒寫nor flash,不進行任何配置的方法,能夠成功純屬偶然,他自己在視訊中燒寫時也出現了兩次錯誤,可卻沒有意識到他的操作有問題,誤認為是jlink不穩定,先将此文貼出,将其錯誤方法糾正。

如果你用國嵌的方法直接燒寫nor flash,會出現下面的錯誤:

jlink燒寫Nor Flash時出錯正确解決方法彙總:PC of target system has unexpected value after programming

如果你按照國嵌的說法認為這是jlink不穩定,多試幾遍就好了,你就會發現這個錯誤像魔鬼一樣跟着你,對你不離不棄,這個方案我驗證了幾十次,沒有一次是成功的,于是我開始尋找錯誤的根源。後面問題得到解決,現将方案總結如下:

方案1.

如果你有mini2440或者是你闆子對應的配置檔案,這個問題就很好解決,file->open project,選中初始化工程檔案:

jlink燒寫Nor Flash時出錯正确解決方法彙總:PC of target system has unexpected value after programming
jlink燒寫Nor Flash時出錯正确解決方法彙總:PC of target system has unexpected value after programming

其次,option->project settings選擇flash,點選select flash device,選中開發闆對應的nor flash晶片型号,我的闆子采用得是s29al016m90tfi02,這裡我選擇s29al016m90tfi02

jlink燒寫Nor Flash時出錯正确解決方法彙總:PC of target system has unexpected value after programming

設定好前面這些之後,就可以進行下面的燒寫工作了,通過這種方式一次燒寫成功。

如果你沒有這個配置檔案,不要緊,下面我将這個配置檔案對應j-flash配置的内容截圖如下,大家可以作為參考:

jlink燒寫Nor Flash時出錯正确解決方法彙總:PC of target system has unexpected value after programming
jlink燒寫Nor Flash時出錯正确解決方法彙總:PC of target system has unexpected value after programming

方案2:

1. 看着這現象,貌似是ram不穩定或者沒有初始化好,而導緻j-flash arm運作有問題,沒有正常燒寫。

是以去嘗試取消了ram,即options -> project settings -> cpu中,取消use target ram(faster)的話,好像是不會出錯的,但是燒寫起來,速度就太慢了,是一個一個位元組燒寫的,燒個200多k的u-boot.bin的話,估計得幾十分鐘,是以無法忍受。

還是需要用到use target ram(faster)來實作快速燒寫的,這個隻要一二十秒即可。

2.後來又去更改jtag的工作頻率,從很低的100khz到很高的4mhz,12mhz等,或者是auto模式,都試了試,但是還是會出錯。

3. 後來又去折騰,更改很多設定,看看是否有用。最後的最後,幸運地,終于找到解決辦法了:

options -> project settings -> cpu -> 'use following init sequence:'中,預設隻有一行:

0 reset  0 0ms reset and halt target,

然後選中該行,點選edit,修改delay為2ms,确定,即可。

jlink燒寫Nor Flash時出錯正确解決方法彙總:PC of target system has unexpected value after programming

方案3:

options-->project settings-->cpu中的use following init sequence中的action一定要把reset改成halt

方案3我試了一次,沒有成功,也許可行,但方案1是最保險的,大家可以幾種方法都嘗試一下,如果有任何問題,歡迎大家多多交流。

繼續閱讀