S3C2410 Flash 燒寫
我們2410的板子使用了intel 28F系列的flash作為存儲(chǔ)器,并且同時(shí)使用了兩片合成一個(gè)32位的外部存儲(chǔ)器。為了將bootloader燒寫進(jìn)flash我們自己編寫了一段代碼完成這項(xiàng)任務(wù),但這個(gè)方法比較麻煩,需要安裝不少龐大的軟件。為了偷懶我試了一下H-jtag附帶的H-flasher和Flash programmer,其中,H-flasher根本就不支持Intel的flash,而Flash programmer則不能寫入,不時(shí)有錯(cuò)誤發(fā)生。
我仔細(xì)研究了這個(gè)軟件,發(fā)現(xiàn),選中2410的時(shí)候,各寄存器都是使用的缺省設(shè)置。有些寄存器的名字都沒有寫對(duì),我估計(jì)這些缺省設(shè)置很可能就是程序不能工作的源頭。按照我們uboot的設(shè)置我修改了相應(yīng)的寄存器,如下列表:
BWSCON 0x22112124
BANKCON0 0x0000070A
......................(這中間的幾個(gè)我覺得沒有太大作用)
BANKCON6 0x00018005
BANKCON7 0x00018005
REFRESH 0x008C0000
BANKSIZE 0x00000032
MRSRB6 0x00000030
MRSRB7 0x00000030
WTCON 0x00008001
最關(guān)鍵的是最后一個(gè)Watchdog的設(shè)置寄存器不對(duì),所以我就把它關(guān)掉了,然后燒寫一切正常。也可能不用關(guān)掉,只需要修改其中某些參數(shù)即可。最近沒有時(shí)間以后再試吧。^^