DDR3简介


前言

💦DDR3在自己做完板子后需要验证下,测试DDR3是否能正常使用,如果不能正常使用,其他的也将无法运行,所以测试DDR3还是非常有必要的,NXP官方提供了一个软件用来测试DDR3的工具,ddr_stress_tester_v2.90。
💦注意:一般认为 DDR 能够以超过标准工作频率10%~20%稳定工作的话就认定此硬件 DDR 走线正常,这就是DDR校准的意义。


一、ddr_stress_tester_v2.90配置流程

①、工具通过 USB OTG 接口与开发板相连接,也就是通过 USB OTG 口进行 DDR 的初始化与测试。
②、工具有一个默认的配置文件,为 excel 表,通过此表可以设置板子的 DDR 信息,生成一个.inc 结尾的 DDR 初始化脚本文件。这个.inc 文件就包含了 DDR 的初始化信息,一般都是寄存器地址和对应的寄存器值。
③、工具会加载.inc 表里面的 DDR 初始化信息,然后通过 USB OTG 接口向板子下载DDR 相关的测试代码,包括初始化代码。
④、对此工具进行简单的设置,即可开始 DDR 测试,一般要先做校准,因为不同的 PCB其结构肯定不同,必须要做一次校准,校准完成以后会得到两个寄存器对应的校准值,我们需要用这个新的校准值来重新初始化 DDR。
⑤、此工具可以测试板子的 DDR 超频性能,一般认为 DDR 能够以超过标准工作频率10%~20%稳定工作的话就认定此硬件 DDR 走线正常。
⑥、此工具也可以对 DDR 进行 12 小时的压力测试。
在这里插入图片描述
在这里插入图片描述

💦配置项根据自己所使用的DDR芯片参数来填写。

在这里插入图片描述
在这里插入图片描述

💦举例说明:如果开发板使用的是 EMMC 核 心 板 (DDR3 型 号 为NT5CC256M16EP-EK)配置如下:
在这里插入图片描述
💦点击RealView.inc回同步更新Register Configuration文件。
将RealView.inc配置文件导出来,新建一个.inc文件,将excel中的复制出来即可。
在这里插入图片描述

二、将inc配置文件下载到板子上

💦首先要用 DDR_Tester.exe 软件对正点原子 ALPAH 开发板的 DDR3L 进行校准,因为不同的 PCB 其走线不同,必须要进行校准,经过校准一会 DDR3L 就会工作到最佳状态。

1.连接方式

在这里插入图片描述
①、弹出 SD 卡,如果插入了 SD卡,那么一定要弹出来
②、设置拨码开关从 USB 启动
在这里插入图片描述

2.打开DDR_Tester 软件

在这里插入图片描述

在这里插入图片描述

💦得到校准值,也就是一些配置DRR的寄存器的值。
💦在裸机编程时,要将校准值和imxdownload.h中的对应寄存器进行核对,不一致的地方修改,没有的就不用管。
💦得到的校准值如下:

MMDC registers updated from calibration 

   Write leveling calibration
   MMDC_MPWLDECTRL0 ch0 (0x021b080c) = 0x00000000
   MMDC_MPWLDECTRL1 ch0 (0x021b0810) = 0x000B000B

   Read DQS Gating calibration
   MPDGCTRL0 PHY0 (0x021b083c) = 0x0144013C
   MPDGCTRL1 PHY0 (0x021b0840) = 0x00000000

   Read calibration
   MPRDDLCTL PHY0 (0x021b0848) = 0x40403438

   Write calibration
   MPWRDLCTL PHY0 (0x021b0850) = 0x40403830


Success: DDR calibration completed!!!

💦更新下inc文件,在从小加载,然后做超频测试.
💦注意:如果没有校准,直接做超频测试回


uboot中DDR初始化的修改

💦uboot编译生成u-boot.imx。u-boot.imx已经包含了IVT DCD数据。
💦 那么u-boot.imx的头部信息是怎么添加的?
💦u-boot.imx的DCD中的DDR初始化代码该怎么修改。
💦uboot编译会输出

 ./tools/mkimage -n board/freescale/mx6ull_alientek_emmc/imximage.cfg.cfgtmp -T imximage -e 0x87800000 -d u-boot.bin u-boot.imx

💦 根据编译指令可以看出uboot使用/tools/mkimage工具,向u-boot.bin添加board/freescale/mx6ull_alientek_emmc/imximage.cfg.cfgtmp文件信息,从而得到u-boot.imx。
💦 在没有编译前,只有imximage.cfg文件,所以imximage.cfg里面保存的就是DCD数据。DDR初始化也此文件里面。
我们要修改DDR初始化代码,就需要修改imximage.cfg文件。此文件默认复制的NXP给IMX6ULL EVK开发板写的,默认是给512MB DDR3L写的。

在这里插入图片描述
💦 上述就是图片里就有DDR的初始化寄存器,在这个文件里,修改校准后的寄存器的值,即可完成uboot下的DDR初始化。

💦 然后在重新编译下uboot在核对下imximage.cfg和imximage.cfg.cfgtmp的寄存器是否一致。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值