DSP2808中程序烧到flash运行有这么慢吗?
小弟正在使用dsp208,对程序在flash中运行速度有点疑惑。将程序烧写flash中运行,对一些语句进行简单的测试,如下void testfun(void)
{
IO32_ON;
x = 12;
x = 13;
x = 27;
x = 35;
x = 70;
#if 1
x = 13;
x = 23;
x = 34;
x = 77;
x = 32;
#endif
IO32_OFF;
y = 12;
y = 13;
y = 27;
y = 35;
y = 70;
y = 13;
y = 23;
y = 34;
y = 77;
y = 32;
}
测试得到的IO口高电平时间为2.1us,然后注释掉红色的那段代码,再编译之后烧入flash中,测得IO高电平时间为1.3us,那么一条赋值语句运行时间就是(2.1 - 1.3 ) / 5 = 160ns,而我们的总线时钟是倍频到100MHZ,所以有点怀疑,flash中运行的速度真有这么慢吗? 不了解哦28xx,我的理解是,应该有一个管脚输出PLL之后的某个频率,或者是CPU的频率,或者是外设的频率,用示波器监视这个管脚不就可以了? 应该不会吧!!!!!!!! 2# dqyubsh #2
我已经使用PLL将总线倍频到100MHZ了,测试的时候是通过IO口产生脉冲,然后用示波器测IO口高电平的时间。 已经解决了,主要原因是未开启flash的pipeline,在初始化的时候加入InitFlash()就可以了.当然得注意一下InitFlash是在ram中运行的,要memcpy的 好 楼主,如何memcpy的啊,主要原因是未开启flash的pipeline,在初始化的时候加入InitFlash()就可以了.当然得注意一下InitFlash是在ram中运行的,要memcpy的,具体怎么弄啊遇到同样的问T题
页:
[1]