FLASH燒寫總結 (轉)

     這部分可能過於簡單,很少有人寫,但是對於不瞭解ARM開發過程的人真的簡單嗎?我是菜鳥,在這卡了3天:)
一般說來有幾種方法,
1)板子原來的BOOTLOADER程序或者爲燒寫而編寫的專用ADS程序
比較高級而快速的方法,很多現成的開發板都用這種方法(相對來說有實力的公司),此狀態下CPU是運行的,所以速度快。
比如ZLG的,但是對於初學或者不準備細研究硬件的人來說就比較麻煩,因爲要編寫(改寫)ADS燒寫程序。願意的人可以看看。
2)FLUTED
和FLASHPGM一樣,使用的好象叫邊界掃描法,CPU此時並不運行,因此燒寫的比較慢。
在這裏也不推薦FLUTED這個軟件,原因比較簡單,麻煩+速度慢。
因爲需要編寫(改寫)兩個配置文件,而且是字符界面。倒是有人說這個軟件只能在WIN98下用的說法好象不對(現在有可以讓2000和XP下用的方法)
喜歡的朋友可以用用
3)FLASHPGM(推薦)
很簡單的程序,GUI界面,速度尚好。
設置很簡單,在CPU裏選對型號,當然是3星的44B0。在FLASH裏也一樣,39LV160,29LV160都有。
確定好地址,RAM地址我的是0XC000000(BANK7上) FLASH地址0X0(BANK0上)
選完了以後讀一下FLASH的ID(左下腳的按鈕吧)能讀出廠家的ID就行。
然後是燒寫了,PROGRAME按鈕,注意的是FLASHPGM不支持BIN格式,按照下面方法處理。
再有就是儘量在寫之前擦一下,PROGRAME菜單裏有個選項,打個鉤就OK。
具體燒寫方法可以看我總結的另一篇文檔,在這裏只說說UBOOT相關的。
前面說過UBOOT編譯以後產生3個文件
u-boot——ELF格式的文件,可以被大多數Debug程序識別;
u-boot.bin——二進制bin文件,純粹的U-BOOT二進制執行代碼,不保存ELF格式和調試信息。這個文件一般用於燒錄到用戶開發板中;
u-boot.srec——Motorola S-Record格式,可以通過串行口下載到開發板中。
FLASHPGM不支持BIN格式的,可以燒寫u-boot——ELF格式的文件,別看它沒擴展名,一樣燒寫。
還有,如果你懶(和我一樣),拿別人現成的BIN文件來燒,FLASHPGM還提供了一個BINTOS19的程序,就在它的安裝目錄下。具體用法運行它,它自己就告訴你了。

注意:有時(尤其是FLASH裏已經有程序的時候)0XC000000會莫名奇妙的提示內存不可以寫,有幾個方法可以試試:把地址改成0x10000000(好象是緩存地址),之後點EREASE擦除芯片,擦除一般說來是不成功的,最後無論如何都下不去,沒關係,這時候關閉擦除對話框,然後0x10000000地址不變,燒FLASH,我一般是燒寫一個我自己寫的LED測試小程序把內存占上:)。回來這時候再把0X1000000換成0XC000000再按照正常操作,一般可以正常。
這現象的原因就是過去下的程序(多數是不正確的程序)正在運行 佔用了RAM與ROM,下個LED測試小程序就是把這幾個部分清除掉。
如果以上方法還不正常,可以用另一個程序叫FLASHP就差2個字母:)很好!在這裏對這個程序的作者致敬!!
用這個軟件擦FLASH,然後再用FLASHPGM燒,原因是FLASHP擦厲害,但寫好象有些問題~~
 
發佈了29 篇原創文章 · 獲贊 3 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章