这个工程是用来做DDR压力测试的,通过特殊的数据模式,以EDMA方式写,读DDR,校验结果。在L138的EVM板验证正常运行.
对于DDR的稳定性测试,CPU的访问方式是不够的,有时CPU访问通过测试,但是实现运行中还是有可能出问题,因为CPU访问是单个数据的访问,对DDR的压力不够。
最好是在产品实际工作条件的环境下测试此程序。
这个程序只是作为参考,其中的测试方法可以用到其它TI DSP及ARM芯片,但不承当额外担保。
DDR时序配置工具,请用下面链接的工具:
DDR_Stress_test_M13_ARM.zip
MDDR_DDR2_Memory_Controller_Register_Calc_Rev5.zip
yanjin huang:
不错,下载参考,谢谢!
countryhotel:
好东西!
zhiyang hu:
就这样写进去再读出来就可以成为压力测试吗? 这个是不是太简单了
Tony Tang:
回复 zhiyang hu:
zhiyang hu
就这样写进去再读出来就可以成为压力测试吗? 这个是不是太简单了
zhiyang hu:
回复 Tony Tang:
也没有更好的建议,因为我最近也在多DDR测试,只是觉得这么读写的强度太低,我的做法是,先写1M数据到DDR,然后用DMA将这1M数据拷贝到第二个1M,依次下去,到最后一个1M的时候再跟第一个1M对比,其实我觉得这个强度也不高,但找不到更好的方法,测试了4,5天,就没有失败的。
Tony Tang:
回复 zhiyang hu:
首先怎么理解这个压力,压力不是说数据量大就是压力,memory本来就是用来装数据的,不能说读写多了压力就大了。
压力体现在信号线的切换导致电流消耗的突变,从而影响信号的完整性。信号切换越频繁,压力越大。而用DMA就是为了让信号线连续切换,CPU访问做不到连续。例子里的数据pattern是设定数据切换模式的。
user4725089:
回复 Tony Tang:
有没有在 AM3354 的平台的 DDR 压力测试的代码。
Tony Tang:
回复 user4725089:
目前没有做吧,这个例子提供的是一种思路方法,有兴趣可以自己在AM335x上做一个。
countryhotel:
回复 Tony Tang:
请教一个问题:“
比如在C6748平台上外挂DDR2,时钟配置为150M hz,实际数据访问频率为300M hz,当DDR2数据位宽为32位时,理论带宽峰值为300*32Mhz。
但是在实际应用中,一般来说DDR接口带宽能达到上述峰值的多少比例?
举一个假象的场景:在系统环境下,DMA会执行DDR2内部的数据搬运,同时dsp内核同样会对DDR进行读写操作,这样DDR接口存在两个设备的并发访问需求,芯片内部应该设计了一些访问总裁或者数据缓存的机制来保证上述情况下的数据访问正常,
类似这些情况是否会对DDR读写实际带宽低于理论带宽峰值?