TI中文支持网
TI专业的中文技术问题搜集分享网站

关于程序运行时间的问题:

请问在连接仿真器和硬件板的情况下怎么会出现如下问题?

1.  C6747翻转一个GPIO口的电平怎么会需要78-80个时钟周期呢?(如      GPIO_SET_DATA01|=0x01  ;   GPIO_CLR_DATA01|=0x01  ;   这样两条语句)

2.做150次8192点的FFT需要的时间多达6.8秒左右,这个会是如何引起的?(脱离硬件纯软件仿真模式运行大概需要1.1秒)

3.执行一条赋值语句大概需要20个时钟周期。

以上时间主要是利用CCS4.1.2菜单栏下的targe—>Clock来观察的。

谢谢!

noaming:

你好,C6747硬件平台运行一个赋值语句的周期,建议你读定时器的值来查看。而150次8192点的FFT需要的时间,在硬件和软仿上,编译器设置选项,程序代码存放位置都一样吗?不同的代码存储位置都会影响程序的运行速度。

SHENGLI CHEN:

回复 noaming:

首先感谢你的回答,不过我接触DSP不久,对你说的方法不大明白,不过会好好学习研究一下。我刚才用C6747板测试了一下运行时间(ccs4.1.2):程序如下

void DELAY_US(Uint16 dly)    //延时程序

{

        Uint16 i=0,j;

        for(i=0;i<dly;i++)

                for(j=0;j<299;j++);

}

void main(void)  //主程序

{

         while(1)

         {

                   GPIO_CLR_DATA45=0X00010000;

                   DELAY_US(1);

                   GPIO_SET_DATA45=0X00010000;

         }

}

利用仿真器连接板子的方式进行测试。在target–>clock–>enable下发现执行GPIO_CLR_DATA45=0X00010000;这条语句需要的时间是17个时钟;执行DELAY_US(1);这条语句需要的时间是32063个时钟。请问这个是不是不正常了?

谢谢

noaming:

回复 SHENGLI CHEN:

你好,不建议使用target–>clock–>enable来查看C6000芯片的程序执行的时钟周期。

SHENGLI CHEN:

回复 noaming:

不好意思,我自己没有提好关键问题点。

1. 在C6747上做1024点的FFT需要的时间差不多为5ms,请问这有可能是什么原因?

赞(0)
未经允许不得转载:TI中文支持网 » 关于程序运行时间的问题:
分享到: 更多 (0)