最近买了一块imx6dq的开发板,使用imx6 sdk进行开发,在链接文件中 设置 text 地址为0x907000编译完使用MFG上载到内部内存运行
对于如下代码
for(i=0;i<1000000;i++);
用sdk中的time_get_microseconds测量运行时间居然用了800毫秒左右;不管是否允许icache,dcache,预测跳转使能,时间都不能大幅减小,把i定义成register,允许icache,dcache,预测跳转使能。该代码运行时间只有几微秒,多次实验后推算访问一次内部RAM要使用0.2-0.4us左右,居然如此之慢,而说明书上说这是高速RAM延迟只有几个AXI CLK不知道如何设置才能提高速度,说明书上说内部RAM并没有设置寄存器 而且看过IOMUXC.GPR3的相关那几位都是复位值,流水线都被使能。实在看不出有何问题。根据经验这种内部RAM一般都是使用cache影射的不知道IMX6的为什么这么慢,是需要特殊设置还是设计就如此,实在想不通万望赐教,谢谢!
|