天天看點

初始化SDRAM

初始化檔案的作用是通過配置2440的内部寄存器來初始化SDRAM。是為程式在SDRAM中運作作準備的。 其實這個檔案是一個H-JTAG的腳本:初始化腳本  腳本作用 

Setmem  設定記憶體/寄存器的值 

Getmem  讀取記憶體的值 

Delay  添加延遲 

SysReset  執行系統複位 

SoftReset  執行軟複位 其中我們用到的是第一條,其文法如下 Setmem  位寬  目的位址 目标值。位寬也可以放最後面。 Setmem    -  腳本指令; 

位寬    -  表示要設定的目标值的位寬,可選的位寬為 8-Bit/16-Bit/32-Bit; 

目的位址  -  表示的是操作的目的位址,設定的時候請根據選擇的位寬保證位址是對齊的; 目标值    -  使用者希望寫到目的位址的值,設定的時候請根據選擇的位寬輸入合适的值; 下面來具體看下初始化檔案的内容(核心arm920t):  

setmem 0x53000000,0x00000000,32; pWTCON , 看門狗定時器控制寄存器 setmem 0x4a000008,0xffffffff,32; INTMSK , 中斷屏蔽寄存器  setmem 0x4a00001c,0x00007fff,32; INTSUBMSK , 中斷屏蔽寄存器

setmem 0x48000000,0x2212d110,32; 總線寬度和等待控制寄存器 setmem 0x48000004,0x00000f40,32; Boot ROM control setmem 0x48000008,0x00002e50,32; BANK1 control setmem 0x4800000c,0x00002e50,32; BANK2 control setmem 0x48000010,0x00002e50,32; BANK3 control setmem 0x48000014,0x00002e50,32; BANK4 control setmem 0x48000018,0x00002e50,32; BANK5 control setmem 0x4800001c,0x00018005,32; BANK6 control setmem 0x48000020,0x00018005,32; BANK7 control setmem 0x48000024,0x00960542,32; 重新整理控制寄存器

setmem 0x48000028,0x00000032,32; Bank大小控制寄存器

setmem 0x4800002c,0x00000030,32; SDRAM模式寄存器組--Mode register set for SDRAM  setmem 0x48000030,0x00000030,32; SDRAM模式寄存器組--Mode register set for SDRAM

具體寄存器指派意義見s3c2440手冊。

繼續閱讀