您的位置:首页 > 其它

S3C6410内存初始化

2015-08-26 15:44 281 查看
S3C6410处理器拥有32根地址线,寻址空间为4G。其中高2G为保留区,低2G又可以分为:主存储区和外设区。



外设区主要是S3C6410的内部寄存器;

主存储区又可以分为Boot镜像区、内部存储区、静态存储区、保留区、动态存储区五部分。





Boot镜像区:根据选择的启动方式,将相应的地址空间映射到该镜像区;

内存存储区:包括I_ROM,I_SRAM

静态存储区:分为6个banks,每一个bank有128M;可接nor flash,onenand等

动态存储区:内存空间

存储控制器

存储控制器初始化流程,也即内存初始化流程为:



我们使用的是DDR内存,因此第四部是初始化DDR,流程为:



错误纠正:‘NOP’指令对应的是‘2b11’,不是‘2b10’;‘Autorefresh’指令对应的是‘2b01’,不是‘2b11’.

从uboot代码中可以看到,初始化内存除了以上几步外,在开头还设置了MEM_SYS_CFG寄存器,作用是设置处理器[31:16]pin脚的用途。该寄存器[7]默认值为1,现设置为0,使[31:16]pin脚作用数据脚用。

ldr r0, =0x7e00f120
mov r1, #0x0
str r1, [r0]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: