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

如何测量6678代码运行时间?

我现在的方法是#include <time.h>

start = clock();finish = clock();overhead = finish - start;start = clock();
/* code part */finish = clock();duration1 = (double)(finish - start - overhead)/ CLOCKS_PER_SEC ;printf("filter time : %f s\n", duration1);

但是测出来的时间比代码实际运行的时间短了许多,感觉并不正确,要如何测量时间呢?

user6041600:

回复 Nancy Wang:

Nancy,

你好,按照你的建议我进行了如下操作:

	TSCL = 0;start11 = TSCL;func()end11 = TSCL;cycle = end11 - start11;

最后cycle有结果,但是我不太明白这里cycle代表的是什么,具体有多久,能麻烦你给个相关的链接,或者解释一下吗?

Nancy Wang:

回复 user6041600:

取决于CPU的频率,具体的主频请看gel文件中的配置。

user6041600:

回复 Nancy Wang:

Hi Nancy,

我使用的是默认的gel文件,里面是这样写的

Each board designer defines the CLKIN frequency.On the TMDXEVM6678L,LE,LXE EVMs, the CLKIN frequency defined to 100MHz.The values for PLL1_M(39) and PLL1_D(1) defined below are pre-setto provide a 1000MHz operating frequency on the EVMs.

这是不是就意味着如果我使用该gel文件默认的参数,就直接为1000MHz也就是1Ghz?然后运行time = cycles / 10^9,单位是秒,是这样吗?

user6041600:

回复 Nancy Wang:

Nancy,我是用软件仿真测试的,只配置了CMD文件,并没有配置gel,这种情况下是不是默认频率就是1Ghz呢?

Nancy Wang:

回复 user6041600:

如果没有用GEL文件,要在你的程序代码里配置一下,跟CMD文件没关系。

user4927862:

回复 user6041600:

1000MHz也就是1Ghz?然后运行time = cycles / 10^9,单位是秒,是这样吗?

赞(0)
未经允许不得转载:TI中文支持网 » 如何测量6678代码运行时间?
分享到: 更多 (0)