以前在使用imx6的时候使用过nxp提供的内存测试工具ddr_stress_tester,这个工具可以对内存进行校验,给出我们的DDR寄存器配置参数的参考值,然后根据此参考值重新配置DDR,然后再进行测试,现在使用imx8qxp的平台,也要进行DDR的测试,但是i8和i6的测试流程有一点不同,所以在此做以记录。
1、修改nxp官方excel文件
nxp的ddr测试工具需要一个excel文件来描述单板信息和内存信息,这个excel文件官方会给出,我们要测试自己的板子的话第一步就是要修改这个excel文件
这个excel文件中已经说明了如何使用,按照这个来操作就可以了,需要说明的是这个excel文件最后两栏比较重要,一个是DCD CFG file CBT 这个是设备描述配置,里边的内容都是寄存器地址-寄存器值这样的形式来配置imx8qxp的一些设备,另一个是DDR Stress Test Script CBT 这个是一个脚本,后面测试工具使用的
这两个地方都是修改excel之后会自动生成的,接下来就要说明这两个文件要怎么使用
安装测试工具,解压工具包之后会有一个安装文件
安装之后的目录如下
bin:存放编译出来的scfw
log:工具的log
script:存放excel文件生成的脚本
2、编译SCFW
根据测试工具的说明文档,接下来要编译SCFW,从官网下载scfw的代码
进入/platform/board/mx8qx_mek/dcd目录,根据单板类型而定,我这里使用imx8qxp,所以目录对应起来,这个目录下都是配置文件
需要修改的是imx8qx_dcd_1.2GHz.cfg,把这个文件备份一下,然后新建一个imx8qx_dcd_1.2GHz.cfg文件,把刚才excel中生成的DCD数据拷贝到文件中
编译的时候要注意一下,在Makefile中指定了交叉编译工具的路径
CROSS_COMPILE = $(TOOLS)/gcc-arm-none-eabi-*/bin/arm-none-eabi-
如果没有TOOLS这个目录的话要重新指定一个交叉编译的路径
export TOOLS=/opt
make qx R=B0 DDR_CON=ddr_stress_test_parser
编译完成之后会生成一个scfw_tcm.bin,这个文件最终要拷贝到安装目录下的bin目录中
要把scfw_tcm.bin重命名为mx8qxb0_scfw_download.bin
3、生成脚本文件
之前excel文件生成的最后一栏就是脚本
按照说明,这个内容要拷贝到工具安装目录下的script目录下,并且文件以ds结尾,到这个目录下查看
新建一个ds文件,把内容拷贝进去
4、开始测试
准备:测试工具要求板子要连接串口,以及连接UBS,因为下载文件要使用USB下载到板子内部,并已烧录模式启动,
右击MX8_DDR_Tester.exe,选择管理员模式打开
第一步点击Search,如果电脑成功插入串口,并且驱动正常就会识别出串口,然后点击Connect
第二步选择刚才拷贝进来的ds文件,点击下载
成功下载,如果没有成功下载重新上电试一下。
第三步点击Stress Test开始测试
等待测试结果,上方的工具栏可以选择固定频率以及测试一晚上。