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

c6678时钟周期与运行时间的关系

我用TSCL测程序运行的时间,大体流程如下:

TSCL = 0;

TSCH = 0;

timeStart = _itoll(TSCH,TSCL);

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

timeEnd = _itoll(TSCH,TSCL);

period= timeEnd – timeStart;

得到 period= 900,000,000,实际运行时间约为10秒,有两个问题:

①我的时钟频率为1GHZ,那么这个时间不是应该约为0.9秒吗?是不是跟仿真器有关啊?我用的XDS100仿真器;

②将这个空循环换为我的一段程序以后,period= 30,000,000左右,可是这段程序实际运行的时间却为40秒以上,请问这和什么因素有关呢?

希望能够得到解答,非常感谢!

Jim Liao:

      想问你的TSCL和TSCH是像这样声明:volatile Uint32 TSCL的吗?还有就是你这个实际运行时间是怎么估算出来的呢?

Andy Yin1:

在1GHz下对应时间为0.9s没错,程序执行的快慢跟仿真器没有关系,仿真器只是负责将代码下载到DSP上。你的10s是怎么得到的,还有确认的你的主频配置是否正确,很有可能是主频配置错误。

ziye:

回复 Jim Liao:

感谢您的关注,这两个变量我都没有声明,是直接用的。实际运行时间是自己看表估计的,大约是10秒钟程序执行完。设置断点看也是从timeStart到timeEnd大约耗时10s,我感觉这个数量级不对啊。

ziye:

回复 Andy Yin1:

感谢Andy的关注。这个10s是我自己看表估计的,程序大约执行了10s。我用ROV和TimestampC66XLocal_getFreq(&freq)函数看主频都是1GHz啊。请问在主频不变的情况下,这个时钟周期数和实际执行时间并不是正比的吗?我用其他方法如Timestamp_get64()等测程序执行的周期数,结果一致。

ziye:

回复 ziye:

第一个问题解决了,是由于我进行了system reset,主频将为了100MHz,但是第二个问题还在。

lucky2:

回复 ziye:

您好

请问下,点击system reset会把DSP主频降下来吗?

赞(0)
未经允许不得转载:TI中文支持网 » c6678时钟周期与运行时间的关系
分享到: 更多 (0)