DDR3简介

文章目录

  • 前言
  • 一、ddr_stress_tester_v2.90配置流程
  • 二、将inc配置文件下载到板子上
    • 1.连接方式
    • 2.打开DDR_Tester 软件
  • uboot中DDR初始化的修改


前言

💦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的寄存器是否一致。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/572065.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前缀和 求数列的子序列的K倍区间

(直接截图比复制文字要好多了) 不会做的时候我去看了之前做的关于这道题目的笔记, (Ak 1)% k 1 (Ak 1 Ak)% k 1 只要发现了同余数的情况就说明有一个区间满足了题目的要求。 这个方法的精妙之处就在于前缀和包括了…

STM32H7使用FileX库BUG,SD卡挂载失败

问题描述: 使用STM32H7ThreadXFileX,之前使用swissbit牌的存储卡可正常使用,最近项目用了金士顿的存储卡,发现无法挂载文件系统。 原因分析: 调试过程发现,关闭D-Cache可以挂载使用exfat文件系统。 File…

C语言-用二分法在一个有序数组中查找某个数字

1.题目描述 有15个数按由大到小顺序放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数” 二.思路分析 记录数组中左边第一个元素的下标为left,记录数组右边第一个…

2024年畜牧、养殖业与智慧农业国际会议(ICLAHSA2024)

2024年畜牧、养殖业与智慧农业国际会议(ICLAHSA2024) 会议简介 2024国际畜牧业与智慧农业大会(ICLAHSA2024)将在深圳隆重举行。本次大会旨在汇聚全球畜牧业、畜牧业、智慧农业等领域的专家学者,共同探索行业前沿技术、创新模式和发展趋势…

电脑回收站的东西还原后会在哪里?一文给你答案!

“很奇怪,想问问大家,我电脑回收站里还原的文件会被保存在哪里呀?刚刚恢复文件的时候本来想直接将它拖出,却发现文件不见了,这种情况应该怎么解决呢?” 电脑回收站是一个特殊的文件夹,用于临时存…

【LLMOps】小白详细教程,在Dify中创建并使用自定义工具

文章目录 博客详细讲解视频点击查看高清脑图 1. 搭建天气查询http服务1.1. flask代码1.2. 接口优化方法 2. 生成openapi json schema2.1. 测试接口2.2. 生成openapi schema 3. 在dify中创建自定义工具3.1. 导入schema3.2. 设置工具认证信息3.3. 测试工具 4. 调用工具4.1. Agent…

PC-3000 Mobile Pro: 智能手机及平板设备数据提取工具

天津鸿萌科贸发展有限公司从事数据安全业务20余年,在数据恢复、数据取证、数据备份等领域有丰富的案例经验、前沿专业技术及良好的行业口碑。同时,公司面向取证机构及数据恢复公司,提供数据恢复实验室建设方案,包含数据恢复硬件设…

跨境电商亚马逊、虾皮等平台做测评要用什么IP?

IP即IP地址,IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写,IP地址是IP协议提供的一种统一的地址格式 功能:它为互联网上的每一…

SpringMVC笔记——SpringMVC基础Tomcat环境配置

Tomcat安装配置 下载Apache Tomcat 进入官网https://tomcat.apache.org/,选择tomcat 9 这边使用idea开发,建议直接下载压缩包 无法访问下载的可以直接用我的下载链接:https://cloudreve.zxbdwy.online/s/6nSA 提取码:w1pwk3将压…

嵌入式学习60-C++

知识零碎: C# :window下用于vs stdio编程 …

Pyside6:QDialog按钮变为中文

如果在Qt Designer中创建了一个Qdialog,自带按钮的类型,那么在Designer中显示是中文,但在运行时将变成英文。 如果程序不需要进行国际化,只在国内使用,那么进行中文化的操作还是有必要的,其实方式很简单&am…

常见七大排序(汇总)

目录 引言 交换函数 直接插入排序 思想 时间复杂度 希尔排序 思想 时间复杂度 选择排序 思想 时间复杂度 堆排序 思想 时间复杂度 冒泡排序 思想 时间复杂度 快速排序(递归) 霍尔法 前后指针法 三数取中 & 随机值法 第一种是随…

C++ 核心编程 - 内存分区模型

文章目录 1.1 程序运行前1.2 程序运行后1.3 new 操作符 C 程序在执行时,将内存大致划分为 4个区域: 代码区:存放函数体的二进制代码,由操作系统进行管理;全局区:存放全局变量和静态变量以及常量&#xff1…

【CSS】CSS实现元素逐渐消失(实现元素透明逐渐消失/模糊)

mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 10%);mask-image 属性用于定义一个遮罩,它可以隐藏元素的一部分或全部内容。在这个示例中,我们使用 mask-image 属性来定义一个线性渐变的遮罩,使得列表项的内…

nginx配置ip_hash负载均衡策略

一、nginx配置ip_hash负载均衡策略 nginx默认的负载均衡策略为轮询,某些场景需要使用ip_hash负载策略,即:同一个ip地址,永远访问nginx后面同一台tomcat。配置示例如下,主要是设置ip_hash: upstream www.ab…

机器视觉系统-工业光源什么是高角度光,以及发光角度得分类

光路描述:光线与水平面角度>45称为高角度光。 效果分析:高角度照射,光线经 被测物表面平整部分反射后进入镜头,图像效果表现为灰度值较高;不平整部分反射光进入不了镜头,图像效果表现为灰度值较低。 主要…

【Vue】自定义事件实现组件之间的通信(案例讲解)

一、前言 这是部分哔哩哔哩上跟着一个博主【遇见狂神说】学习的,当然自己也是才开始学习的vue,在学到这个Vue的自定义事件的时候,虽然知识点很绕,但是在理解后又觉得很意思,觉得Vue真的很强大。这里博主将自己学习到的…

2、选择什么样的机器人本体

如果说世界是物质的,那么应该先制造出机器人的本体,再让她产生灵魂。如果是精神的呢,世界是无中生有的呢,那就先在仿真中研究算法吧。 而我比较崇尚初中哲学的一句话,世界是物质的,物质是运动的&am…

[已测试]TVBox二次开发影视系统酷点1.4.4反编译版本

支持p2p, 磁力等播放 支持多仓切换vip线路 自动换源开关 启动时直接进入直播 原始轮播图和幻灯片切换 加大防抓包的可能性 支持安卓4.x版本 源码下载:https://download.csdn.net/download/m0_66047725/89084105 更多资源下载:关注我。

科技改变视听4K 120HZ高刷新率的投影、电视、电影终有用武之地

早在1888年,法国生理学家埃蒂安朱尔马莱就发明了一套盒式摄像机,能以120帧/s的速度在一条纸膜上曝光照片,但是当时没有相匹配的放映设备。而马莱的另一套拍摄设备是60帧/s的规格,并且图像质量非常好。 受此启发,雷诺的…