Andoird中使用stressapptest测试DDR稳定性

如果DDR存在不稳定的情况,可能会出现概率性死机的情况。比如,部分机器重启机器100次,概率性开机定屏,定屏时串口无输出或者sysdump捉到的出错log也有差异,可以先排除是不是ddr的问题。
Android默认有测试ddr稳定性的工具stressapptest(默认没编译),编译方法

mmm external/stressapptest/

将stressapptest放到手机上,运行stressapptest即可。由于该应用会大量申请内存,导致系统低内存,可能到导致
该进程被杀。可以使用参数M限制内存的测试量,如

./stressapptest -M 200 

参考MTK的FAQ19865,可能原因如下

一、器件不良-----比如cpu ddr flash 本身就有质量缺陷
二、器件供电不足或者供电受到干扰-----cpu ddr flash的稳定工作需要一定的电压频率,如果供电不足或者波动较大   那么其内部状态会不稳定从而引起bitflip
三、传输干扰-----数据在cpu-ddr或ddr-flash间流动时如果引脚干扰大也会导致传输出错(不过一般有传输校验这种   情况几率较小)
四、引脚虚焊-----器件与主板的硬件有虚焊当然会有问题
五、主板损坏或微损坏------导致送给器件的电或者信号不稳定
以上 除器件不良外都属于器件的供电或者其它信号会受到干扰或者不稳定的情况-----一般与主板强相关

目前遇到过器件不良和主板不良的情况。

1.同一块主板,重新焊接eMCP,无法通过stressapptest测试,应该不是虚焊的问题,换同一型号的eMCP可以通过测试,死机问题也解决了。

2.客户反馈部分主板出现概率性死机的情况,测量VDDMEM有点风险,它的纹波有30mV,drop也有125mV左右,是由于原理图跟参考设计有差异,将一个电阻画成了一个电容,导致VDDMEM滤波效果不好,进一步导致DDR电源不稳定,出现的死机的情况。

最后,分享下重启测试机器定屏的脚本,如下

for i in {1..1000}
do
adb reboot
sleep 100
echo $i
done

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值