基于PowerPC64架构的内存测试方法和频率设置
概述
因一些外部原因,设备使用的内存条存在多个品牌的现象,在PowerPC64架构的环境中,有些内存在使用时候出现读写问题,从而导致程序出现异常现象。于是在UBOOT启动阶段添加了对内存的检测过程。
在内存检查过程中发现,对不同品牌内存访问存在差异,于是通过调节一个合理的DQS数值,来达到兼容选取的内存品牌。
环境
软件版本:T2080S的SDK版本V1.9
内存测试
内存在调测阶段,使用三种进行测试:UBOOT下的BIST、自定义,系统下的压力测试。
1.UBOOT下的DDR3的BIST测试
这种方式是基于T2080S的UBOOT自带的BIST测试功能,通过配置系统的测试寄存器,来完成对内存的测试。
模块位置:
drivers/ddr/fsl/mpc85xx_ddr_gen3.c
模块流程:
1> 保留原配置,存放在csxx_bnds变量里
2> 将DDR的CSn_BNDS模式配置成non-interleaving,这样所有字段都能在CS0-3上访问。
3> 配置mtp(内存测试模板)。总共10个,目前设计方式两个一组,交替配置全ff和0。
4> Mtcr为内存测试控制开关。
5> 停止测试后,校验匹对结果;恢复原配置。