S3C6410内存初始化

来源:互联网 发布:什么软件购物返利 编辑:程序博客网 时间:2024/06/05 20:18

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, =0x7e00f120mov r1, #0x0str r1, [r0]
0 0
原创粉丝点击