打印

DSP2808中程序烧到flash运行有这么慢吗?

[复制链接]
3315|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ghostvip|  楼主 | 2011-8-18 13:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟正在使用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中运行的速度真有这么慢吗?

相关帖子

沙发
dqyubsh| | 2011-8-19 03:51 | 只看该作者
不了解哦28xx,我的理解是,应该有一个管脚输出PLL之后的某个频率,或者是CPU的频率,或者是外设的频率,用示波器监视这个管脚不就可以了?

使用特权

评论回复
板凳
bmw008| | 2011-8-19 04:51 | 只看该作者
应该不会吧!!!!!!!!

使用特权

评论回复
地板
ghostvip|  楼主 | 2011-8-19 08:09 | 只看该作者
2# dqyubsh

使用特权

评论回复
5
ghostvip|  楼主 | 2011-8-19 08:30 | 只看该作者
#2
我已经使用PLL将总线倍频到100MHZ了,测试的时候是通过IO口产生脉冲,然后用示波器测IO口高电平的时间。

使用特权

评论回复
6
ghostvip|  楼主 | 2011-8-19 10:53 | 只看该作者
已经解决了,主要原因是未开启flash的pipeline,在初始化的时候加入InitFlash()就可以了.当然得注意一下InitFlash是在ram中运行的,要memcpy的

使用特权

评论回复
7
729144646| | 2011-8-20 00:37 | 只看该作者

使用特权

评论回复
8
s3130718317| | 2017-5-19 14:41 | 只看该作者
楼主,如何memcpy的啊,主要原因是未开启flash的pipeline,在初始化的时候加入InitFlash()就可以了.当然得注意一下InitFlash是在ram中运行的,要memcpy的,具体怎么弄啊遇到同样的问T题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

86

帖子

0

粉丝