x210v3开发板u-boot-2012.10移植之八---DDR2初始化我也能搞定

本文详细介绍了在x210v3开发板上,基于u-boot-2012.10移植DDR2内存的过程。内容涵盖DDR2初始化的27个步骤,硬件相关知识,以及初始化代码实现,包括设置内存参数、检测PHY DLL锁定、发送NOP、PALL等命令。文章最后提供了一种通过串口测试内存功能的方法。
摘要由CSDN通过智能技术生成

                                                        疯雨-版权所有,转载请注明【http://blog.csdn.net/u010346967】

这么久了代码还没进入内存怎么行,接下来我们就来初始化DDR2。

1.DDR2的初始化流程

DDR2的初始化流程datasheet里面已经写得很清楚了,总共27步。直接看datasheet 598页,DDR2初始化部分截图如下:





2.硬件相关

首先,你得知道我们的板子用的是什么内存芯片,然后用了几块,接在哪了?

好了查看原理图x210cv3.pdf,搜索DDR2,你应该可以发现有4块内存芯片,而且是FBGA封装的。芯片型号是K4T1G164QQ,四块一样的芯片。三星产的,去下载这块芯片的文档,后面配置一些时序参数要用到。

然后,还得补充一些DDR2内存的知识,个人建议从DDR2的早起发展开始看,看产品是怎么样一代代升级的。但是这里我们只谈怎么操作,不说原理,不然没完没了了。有兴趣自己去了解吧。这里推荐些资料信息:

3.初始化细节

那我我们对照着一步步来。

3.1 为了向控制器和内存设备提供稳定的电源,控制器必须保持CKE为低电平。然后才能运行稳定的时钟。注意:XDDR2SEL引脚应为高电平把CKE电平拉低。

先看核心板原理图x210cv3.pdf(后面简称原理图),确定XDDR2SEL和CKE是什么?(DDR2位于核心板上面应该知道吧,如果不知道那你得好好反省了,每个硬件在哪还是得清楚)

先看XDDR2SEL,在原理图中搜索一下,发现下图:直接接到了VDD_IO,所以应该与编程无关,硬件上提供了高电平。所以第一步硬件做了。




3.2  根据时钟频率设置PhyControl0.ctrl_start_pointandPhyControl0.ctrl_inc为正确的值,设置PhyControl0.ctrl_dll_on为1打开PHY DLL

代码如下:
	ldr r0, =0xF0000000
	ldr r1, =0x00101002
	str r1,[r0,#0x18]







3.3 根据时钟频率和内存t_AC参数设置PhyControl1.ctrl_shiftcandPhyControl1.ctrl_offsetc为正确的值

代码如下:

	ldr r1, =0x2046
	str r1,[r0,#0x1C]





3.4 设置PhyControl0.ctrl_start为1

这一步简单 直接给出代码:

	ldr r1, =0x00101003
	str r1,[r0,#0x18]

3.5 设置ConControl关闭自动刷新


代码如下:

	ldr r1, =0x0FFF13A8
	str r1,[r0,#0x0]

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值