32位SDRAM写速度狂飙300MB/S,读速度90MB/S,需要专业的SDRAM测试方案来进一步测试
测试平台STM32-V6开发板。测试主频为168MHz。感觉写速度有些虚高,但是写进去的,读出来又没有错,每次测试都是重新开关机测试。
时钟周期测试不太准确,因为没有做跨行测试,不能反映实际情况。
====================================================
MDK 3级优化效果:
===================================================
MDK 0级优化效果:
===================================================
读写测试都是展开进行测试,比如写测试,为了防止MDK优化,每次都写入不同数据
iTime1 = bsp_GetRunTime(); /* 记下开始时间 */
pBuf = (uint32_t *)EXT_SDRAM_ADDR;
for (i = 1024*1024/8; i >0 ; i--)
{
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
*pBuf++ = j++;
}
iTime2 = bsp_GetRunTime(); /* 记下结束时间 */
========================================================
大家会觉得怎么读速度比写速度慢呢,实际测试的确是这样的,估计CL参数对读速度影响较大。
现在需要一些专业的SDRAM测试方案,好的测试方案才能正确反映测试结果。
300MB/S的写速度是什么概念,因为SDRAM的时钟使84MHz,这个就相当于一个时钟周期就写入一个32位数据,太快了。有点不可思议。
200MB/S还准确些。 关机至少要等上一分钟,不然,写进去的数据还是在那儿。
回 heitu103 的帖子
heitu103:关机至少要等上一分钟,不然,写进去的数据还是在那儿。 (2016-01-04 14:15) images/back.gif谢谢回复,应该不需要这么长时间,SDRAM每行都要在64ms内刷新一次,对电容充电。从这个来看,很快就没电了。 这时候耗电量是多少?能测一个吗?
回 碧云天书 的帖子
碧云天书:这时候耗电量是多少?能测一个吗? (2016-01-19 01:09) images/back.gif好的,回头我专门的测试下。
回 eric2013 的帖子
eric2013:谢谢回复,应该不需要这么长时间,SDRAM每行都要在64ms内刷新一次,对电容充电。从这个来看,很快就没电了。(2016-01-05 10:59) images/back.gif
。 为什么我测试外部16位SRAM写才35MB/s,读就更慢了,才22MB/s左右,这个速度正常吗?看你的SDRAM都比SRAM快多了。 使用16位和8位写写看:)
回 sblpp51 的帖子
sblpp51:使用16位和8位写写看:) (2016-12-19 17:54) images/back.gif后面有时间了,测试下。 有没有源代码,我也想来看看~
回 toutou205 的帖子
toutou205:有没有源代码,我也想来看看~ (2017-01-08 23:55) images/back.gif这个程序不知道搞到哪里去了,也有可能测试完毕后,被我给删掉了,你使用我楼主位的测试代码就行,这个就是主要部分代码。
Re:回 toutou205 的帖子
eric2013:这个程序不知道搞到哪里去了,也有可能测试完毕后,被我给删掉了,你使用我楼主位的测试代码就行,这个就是主要部分代码。
images/back.gif
使用哪个地方的代码???? 楼主位???什么意思? 请问有SDRAM相关的例程吗?
回 guoke 的帖子
guoke:请问有SDRAM相关的例程吗? (2017-06-06 16:05) images/back.gif如果购买了V6板子,里面有SDRAM的例程。
如果没有购买,任意从这里下载一个emWin例子,里面有个SDRAM的驱动代码,里面也有测试函数,使用即可:http://www.armbbs.cn/forum.php?mod=viewthread&tid=19834 大神啊 本帖最后由 weiyuliang 于 2020-2-26 19:27 编辑
感谢硬汉的辛苦的指导,终于出来正确结果;
编译器优化设置;
运行正常的工程文件
我把写入改成这样速度就100多了这个是因为写入方式不一样吗
years 发表于 2023-5-24 13:49
我把写入改成这样速度就100多了这个是因为写入方式不一样吗
for循环非常占用时间开销。
页:
[1]