您好~
用6678EVM板子跑一个自己写的程序,然后用CLOCK()函数计时,出来的结果是1102514,因为前面有专家提到说可以用内部寄存器TSCL计时,所以尝试了一下,TSCL计时的结果是141984243!这两个差别也太大了吧,我选clock的选项是CPU Execute Cycles,那哪一个更准确呢??谢谢~
Andy Yin1:
您好,
关于TSC的使用请参考www.deyisupport.com/…/5708.aspx
hobo Q:
回复 Andy Yin1:
谢谢回答~不过我的TSCL就是按照你给的链接所设置的,结果就是我上面所说的那样!这是什么原因啊??谢谢~
Andy Yin1:
回复 hobo Q:
您好,
TSCL记下的是当时的时间,你只要关注记下的程序前后的差值即可
hobo Q:
回复 Andy Yin1:
是这样子的 我像下面一样使用TSCL 和clock()
TSCL=0;
A=TSCL;
t_start=clock();
…
FUNC();
…
t_stop=clock();
B=TSCL;
cycle=B-A;
t=t_stop-t_start-t_overhead;
然后出来的结果就像我上面所说的那样!这结果差距也太大了???我的意思是中间计时这段,我该用t还是用cycle来表示它所需的周期!谢谢回答~
Willows Zhu:
回复 hobo Q:
前两句写错了吧
A=TSCL;
把TSCL = 0去掉试一试~
hobo Q:
回复 Willows Zhu:
谢谢~
TI中文支持网