1、查看串口log
1. 如果串口log是在loader中的DDR初始化部分报错的话一定是DDR问题。
2. 查看loader中DDR初始化部分log中的DDR容量行列bank及颗粒类型位宽信息是否正确。如果信息错误可能引起DDR问题。
3. 如果串口log是系统中的panic log的话,可以多尝试几次看多次panic的地址是否一致,如果一致的话基本不可能是DDR问题,如果不一致的话有可能是DDR问题,也可能是电源问题。
2、看显示是否正常。如果显示异常是DDR问题的概率比较大。
3、做排查试验:
1. arm gpu降频,定频适当抬压,如果有效果的话就不是DDR问题。基本上能确认是电源问题。
2. 关闭DDR变频功能,有效果则DDR变频导致的问题概率比较大。
3. 降低DDR频率到稳妥频率(如200M),如果有效果那很大概率是DDR信号质量有问题。

二、引起DDR问题的几个主要原因
1、电源问题:
1. layout上电容不够,电容摆放位置离芯片太远,电容分布不合理
2. 电源feedback回路没按要求从末端引回到PMU/DC-DC端 3. 敷铜有没有按照RK的layout规则处理导致电源路径太窄
4. LQFP封装的芯片正下方的GND需要堆锡保证良好接地,否则会影响芯片内部电源质量以及散热。
2、信号质量问题
1. 不等长的走线。RK大部分平台是不带各种eye training的, 不等长的走线会直接牺牲DDR 的setup/holdtime。
2. 过窄的线间距。过窄的线间距将会导致严重的串扰问题。
3. T型拓扑结构分支不等长。不等长的分支会恶化信号边沿,使边沿非单调。
4. 信号参考层回路上的不完整。在敷铜时,间隙设置过大导致过孔直接隔断参考层,会导致信号质量下降引起兼容性问题。
3、颗粒问题
1. 白牌颗粒,由于没经过测试甚至一些可能是原厂测试淘汰下来的颗粒,良率上无法保证。
2. 一些特殊渠道的颗粒,可能存在驱动强度偏弱等问题。
3. hynix 4Gb C die DDR3,如H5TQ4G63CFR ,kernel 3.10早期代码需要打补丁才能用。(后期修复了,判断标准是:只要进入kernel能正常就是fix过的,否则就需要补丁)。

三、解决DDR问题的一些手段
解决DDR问题总的办法就是找规律,尝试是否能找到死机的规律,如都在某个频率下死机,休眠唤醒死机的是否是和休眠时间多久有关等。尝试各种方法如定频,尝试不同频率,抬压,改驱动强度等逐个排查可能性缩小问题范围。
1、对于在DDR初始化中报错的问题
1. 如果有"rd addr 0x... = 0x..."的报错基本上是焊接问题。焊接问题可以用“Rockchip平台DDR测试工具”直接找到问题点。
2. 如果报”16bit error!!!“,”W FF != R“的话表明DDR基本的读写都是错误的。这种情况焊接问题概率比较大。
3. 打印"unknow device"说明颗粒基本的读写都不对,无法探测到dram类型。此时应该检查焊接问题。
4. 对于个别容量不是2的n次幂的颗粒,如768MB,1.5GB,3GB 等特殊颗粒有些版本的代码可能没做好兼容工作,可以更新到最新loader,如果还有异常的话可以联系DDR相关工程师分析。
5. 对于DDR loader中报错的问题,大部分会是焊接问题,可以尝试使用ddr测试工具焊接专项选择对应容量的测试项测试分析。
2、查看loader中DDR初始化部分log中的DDR容量行列bank及颗粒类型位宽信息是否正确。如果信息错误可能引起DDR问题。
如下图第一行为DDR版本号,第3行DDR频率,第4行DDR类型,第五行从左到右分别为系统的位宽数,列数,bank数,行数,片选数,颗粒的位宽数和总容量。第7行“OUT"打印出来后表面DDR初始化成功并退出,再下面就是usbplug或者miniloader 打印的log。这中间Die Bus-Width比实际的大不会有问题,但是比实际的小会引起死机。

3、看显示是否正常。
当系统死机时虽然cpu停下来了,但是vop依然会重复着从DDR中取数据并显示在屏幕上。所以死机时可以直接观察显示的情况来初步判断DDR这时候的状态。
1. 如果显示正常的话,说明这时候DDR的是能够正常访问的, 但是并不能说明死机和DDR无关。
“花屏”,有可能是DDR变频的过程中死机了导致DDR处于不可访问状态,这时候可以定频试试。或者可能是电源问题导致DDR控制器逻辑异常。
“重影”,之前遇到类似的情况是由于板子参考层不完整,导致DDR3异常。可尝试提高VCC_DDR电压到1.6V或者将颗粒的dll bypass掉解决。
4、排查是否是电源问题
1. 固定cpu/gpu到一个较低的频率,适当提高arm/logic电压看看是否有改善。有改善的话可能是电源问题。
2. 审核layout看是否电源上存在问题。
3. 测量电源纹波是否存在问题。

Rockchip平台DDR调试排查手段相关推荐

  1. rockchip 平台ksz8863rll调试

    最近一个新项目使用了ksz8863rll这颗ic,要实现的功能是一个端口做phy,另外一个做switch,基于Android rk3288 rk3368平台,之前没用过呀,不好搞,折腾了一段时间,终于 ...

  2. Rockchip Android平台常用调试命令汇总

    Rockchip Android平台常用调试命令汇总 文章目录 Rockchip Android平台常用调试命令汇总 查看帧率信息 查看显示图层信息 手动触发内核产生panic 通过命令设置Andro ...

  3. Java调试--排查类工具

    原文网址:Java调试--排查类工具_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Java调试相关的命令. jps 简介 查看基于HotSpot的JVM里面中,所有具有访问权限的Java进程的具体 ...

  4. linux脚本ipddr.sh 是什么,MTK DDR调试

    1. 获取 flash id: 硬件信息:通过这个节点可以知道当前flash的id,上层根据id找到对应的flash名字. cat /sys/block/mmcblk0/device/cid \ker ...

  5. 高通Android平台硬件调试之Camera篇

    之前一段时间有幸在高通android平台上调试2款camera sensor,一款是OV的5M YUV sensor,支持jpeg out,同时也支持AF,调试比较比较简单,因为别的项目已经在使用了, ...

  6. 内存问题排查手段及相关文件介绍

    [-] 内存问题排查手段及相关文件介绍重点 1 procsysvmmin_free_kbytes 2 procsysvmdrop_caches 3 procsysrq-trigger 31对echo ...

  7. 技术科普丨平台效果调试篇1—灰区和权重

    转载自技术科普丨平台效果调试篇1-灰区和权重 当你使用手机拍照的时候,有没有发现这种现象,在选自动白平衡的时候,图像整体色调是正常的,但是手动勾选其他光源的时候,会出现不同程度的偏色.为什么呢? 手动 ...

  8. 我在MTK平台下调试音频ALSA

    #前言 前言我就随便写了,因为是项目的需要,我需要在我们的MTK8167S平台上面调试音频.包括录音和播放. #硬件原理图 因为是我们公司的项目,我就不能把完整的原理图给出来.因为两个MIC不涉及机密 ...

  9. syslog 向内存中缓存_内存问题排查手段及相关文件介绍

    5. 内存问题排查手段及相关文件介绍[重点] 对于内存问题排查,或者OOM问题排查,一般会涉及到如下文件,下面将如下文件的分析和设置介绍一下,这也是本文档的重点,后面排查内存信息还是要根据这些文件信息 ...

  10. 微信公众平台开发调试

    说到微信公众平台开发调试,还是先讲讲微信公众平台开发模式的信息传送过程,明白了其信息传送过程,对于调试方法就应该明白了.微信公众平台开发模式的信息传送过程很简单,如下所示: 请求过程:手机微信端发送内 ...

最新文章

  1. python恶搞小程序-抖音最火的整蛊表白小程序如何做出来的?教你用python做出
  2. TCP请求发送和接收,如果接收端终止,发送端继续发送会出什么错
  3. java switch中标签重复_java程序 怎样把id相同的记录挑出来,分别存到不同的文件中,除了switch case,数据量很大,id种类很多。...
  4. 成都睿铂M6Pros近景摄影测量:西安古城墙数字化建设应用介绍
  5. java 自定义 jpanel_在JList中使用自定义JPanel组件 - java
  6. win8计算机配置管理模板,Win8.1使用技巧 用户账户的配置管理
  7. 超级 POM,POM的层级关系
  8. css设置表格自动换行;table换行无效
  9. python pickle and json
  10. Java 描述,数字转换为罗马数字。
  11. 给树莓派挂载硬盘并搭载PT下载器
  12. 什么是SHA256?比特币是如何应用SHA256算法的?
  13. pygame 外星人飞船开发摘要
  14. android快牙原理,实测快牙的真实传输速度
  15. 《产品经理深入浅出》PART 6:交互设计
  16. linux怎么创建用户登录,如何创建一个不能登录的Linux用户名
  17. ganache 安装
  18. RTMP 推流增加对H265的支持
  19. android 换肤功能
  20. 【个人学习总结】使用docker搭建Teamspeak服务器

热门文章

  1. UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x80 in position 198: illegal multibyte sequence
  2. 2021年起重机械指挥考试题库及起重机械指挥最新解析
  3. Matplotlib绘制动图
  4. android 设置软键盘高度,Android 软键盘一招搞定(实践篇)
  5. 「硬刚Doris系列」Apache Doris的向量化和Roaring BitMap
  6. IE7绿色版下载-转载
  7. 2019顺网无盘服务器配置,顺网无盘如何不安装网维客户端上传系统到无盘服务器...
  8. Win10创建文件不显示,Windows任务栏idea图标变白
  9. 写一个京东最顶部的导航条
  10. BZOJ2827 : 千山鸟飞绝