成都國嵌的課程:國嵌體驗入門班-2-1(開發板系統安裝-Jlink方式).rar毒害了不少人,那種直接燒寫nor flash,不進行任何配置的方法,能夠成功純屬偶然,他自己在視頻中燒寫時也出現了兩次錯誤,可卻沒有意識到他的操作有問題,誤認爲是jlink不穩定,先將此文貼出,將其錯誤方法糾正。
如果你用國嵌的方法直接燒寫nor flash,會出現下面的錯誤:
如果你按照國嵌的說法認爲這是jlink不穩定,多試幾遍就好了,你就會發現這個錯誤像魔鬼一樣跟着你,對你不離不棄,這個方案我驗證了幾十次,沒有一次是成功的,於是我開始尋找錯誤的根源。後面問題得到解決,現將方案總結如下:
方案1.
如果你有mini2440或者是你板子對應的配置文件,這個問題就很好解決,file->open project,選中初始化工程文件:
其次,option->project settings選擇Flash,點擊select flash
device,選中開發板對應的nor flash芯片型號,我的板子採用得是s29AL016M90TFI02,這裏我選擇s29AL016M90TFI02
設置好前面這些之後,就可以進行下面的燒寫工作了,通過這種方式一次燒寫成功。
如果你沒有這個配置文件,不要緊,下面我將這個配置文件對應j-Flash配置的內容截圖如下,大家可以作爲參考:
方案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,確定,即可。
方案3:
options-->project settings-->CPU中的Use following init sequence中的Action一定要把Reset改成Halt
方案3我試了一次,沒有成功,也許可行,但方案1是最保險的,大家可以幾種方法都嘗試一下,如果有任何問題,歡迎大家多多交流。