天天看点

初始化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手册。

继续阅读