DDR3的2nd source想测一下高低温,我是硬件,对代码不熟,看到mtest有好几个参数,不知道具体用法。能否share一下方法,如果合理地使用此命令来做测试?(我理解,所有的地址线数据线CLK线控制线要测到,且有足够的读写stress)。用的4Gb的DDR3,32 Meg x 16 x 8 banks。
谢谢支持!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
DDR3的2nd source想测一下高低温,我是硬件,对代码不熟,看到mtest有好几个参数,不知道具体用法。能否share一下方法,如果合理地使用此命令来做测试?(我理解,所有的地址线数据线CLK线控制线要测到,且有足够的读写stress)。用的4Gb的DDR3,32 Meg x 16 x 8 banks。
谢谢支持!
这个就是往一个地址空间里面写对应数据的测试命令。
你可以参考着这个:http://processors.wiki.ti.com/index.php/DM816x_C6A816x_AM389x_DDR3_Init#Run_mtest
Simple memory test can be run from the U-Boot prompt using the mtest command. The syntax of the command mtest command is given below:
mtest <start-address> <end-address> <test pattern> <# of iterations>
This command incrementally writes the test pattern to the memory range specified and then reads it back. Running the memory test with a few patterns should be sufficient for checking out the memory.
Run the memory test over the DDR address space of the EMIFs one by one:
TI8168_EVM# mtest 0x80000000 0xA0000000 0xaa55aa55 3 (referred as Test A) TI8168_EVM# mtest 0xA0000000 0xC0000000 0xaa55aa55 3 (referred as Test B)
You can try different patterns (say all 0s, then all Fs and so on) to be sure of the memory reliability.
谢谢回复。
根据此文尝试过,但会有随机的错误(我确定避开了UBOOT在跑的地址空间,我们512MB的DDR,地址是0x80000000-0x9FFFFFFF,我在9开头的地址上选小段做验证),完全一样的测试第一次pass第二次就fail,可能是什么原因?
如果只用mtest不加参数,是否会自动避开UBOOT在用的地址空间,以所有码型(从全0到全F)遍历所有地址?
谢谢。
从DDR3的设计角度来说,你一定要根据我们的手册,做DDR3的配置,和software leveling这一系列流程操作,如果没做这个部分就直接跑这种test,即使成功了也是徒劳的。这种test只是一个侧面的验证而已。到后面了,做高温拷机测试,再加上application做终测才是对DDR压力比较大的时候。
DDR3的配置和software leveling的测试方式,可以参考下面帖子的2. DDR2/3的配置详解(带视频)。
http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/113233.aspx