本帖最后由 ntmusic 于 2019-4-4 14:47 编辑
求助大家,RT1052的SDRAM在使用时有没有要注意的事项,我在用时发现访问SDRAM速度非常非常慢。在应用中,我要从Flex SPI Flash中加载一张图片的像素数据到SDRAM中,然后对这个图片像素进行一些色彩处理,使用2层For循环嵌套遍历图片中的每一个像素,简单对像素颜色判断后把值放回SDRAM中另一块区域中。结果发现在SDRAM中处理800*480像素的RGB565格式图片,居然耗时180多毫秒,简直不可思议,然后我再试一下单纯把SDRAM中一块区域中的数据也用2层For循环搬移到另一块区域,中途不做任何处理,发现居然也要130多毫秒!这完全不能接受,怀疑是我的配置有问题,于是用正点原子的开发板和例程(号令者)同样做试验: 硬件环境:正点原子RT1052核心板+转接小板+7寸RGB接口TFT
测试程序:正点原子例程-实验19 eLCDIF(RGB屏)
为了测试,我在原实验源码基础上,修改了以下2点:
1、增加GPTimer1产生1ms中断用于计时
2、增加一个SDRAM数据拷贝测试程序,放到例程中的while(1)大循环前。该测试程序主要测试:
A:使用2层For循环搬运SDRAM中的数据,然后打印搬运用时。从地址0x80500000拷贝u16类型数据(800*480)个到地址0x805BB800。
B:使用memcpy函数拷贝SDRAM中的数据,地址和长度同上,打印搬运用时。
C:使用2层For循环,将Flex SPI Flash中地址0X60080000开始的数据拷贝到SDRAM中&#