【说明】
前面我们介绍了地址相关的一些概念以及地址无关码的概念,我们知道了,当程序超过了8KB的时候,我们得把程序复制到DDR中运行,但是,DDR要使用是要先初始化的。6410带有DRAM控制器,它在初始化之后可以让我们对DDR的访问变得十分方便。。。这里我们要初始化2个东西,也就是DRAM控制器,以及DDR本身。在这之前,大家如果对于DDR参数不太熟悉,可以看看这篇文章哦!http://hard.zol.com.cn/2004/0330/90618.shtml
【怎么初始化】
在S3C6410芯片手册中,第5章开头直接给出了初始化DRAM控制器和初始化DDR的步骤!!一步一步来绝对没错的!,先从DRAM控制器开始。
【初始化DRAM控制器】
直接上芯片手册中的初始化顺序图,然后一步一步介绍
1】进入配置状态
它说往某某寄存器写入100(二进制),那我们就得先看看这寄存器是干什么的。。
哦!原来就这3位是有用的!二话不说,第一步理解了。
2】配置时序
1)刷新周期
这一步十分关键,我们要告诉控制器我们使用的DDR的一些参数。如果参数设置不对,控制器按这参数来操作DDR肯定是不对的。
一路找下面,我们发现在一堆配置寄存器后面出现了一个刷新周期寄存器
什么是刷新周期呢? 其实我们DDR并不能一直保持数据,它需要每隔一段时间充一下电来维持数据。这个间隔就是刷新周期。
那我怎么知道刷新周期是多少呢?
不同DDR不一样 所以要看DDR的手册。。一般DDR手册开头就有介绍,比如我的手册《K4X1G163PC - L(F)E/G》