初始化文件的作用是通过配置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手册。