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

C6678 CLOCK()函数是怎么用的

       我用CLOCK()函数去测试FFT时间,但是测试的结果不对。

       CLOCK() 是要使能吗? 那在我的代码里面我需要怎么做呢?    

       CLOCK()函数返回的是DSP运行的时钟周期数吗?

Allen35065:

需要在CCS debug界面下enable CLOCK

yang cao1:

回复 Allen35065:

Allen Yin,你好,我想请问CCS debug界面下enable CLOCK在哪里?我理解是bios里的是么?

Canyu Su:

回复 yang cao1:

yang cao1:

                       Clock 不是BIOS中的,没有关系。使用CCS 的CLOCK工具:在Debug界面下Run菜单下,Clock->Enable,这样在CCS下标栏左侧会出现一个“手表”的圆,双击它可以对数值清0,同时还可以设定Clock数值代表的意义:时钟周期等。根据我的经验,有时候clock数值具有欺骗性,还跟PC机CPU性能等有关,毕竟他是通过JTAG对DSP仿真通信,并不能保证计算时间的准确性。

                       因此我建议使用TSCL寄存器来精确计数,这里的单位是时钟周期。你可以在你需要计数的程序代码前初始化TSCL,结束后再记录一个TSCL值,通过相减就可得出运行时间。这样你就可以通过直接printf输出到console或者使用fprintf打印到文本文件中,直观方便。简例如下:

                      TSCL=0;//先初始化为零,避免数值过大计算费事。

                      unsigned int a=TSCL;

                        //你的测试代码

                     unsigned int b=TSCL;

                    unsigned int time= b-a;

                    printf("The running time=%f second.\n ",(float)time/(1000000000));

yang cao1:

回复 Canyu Su:

Canyu Su:

                  你好,谢谢您的回答,第一次有人回答我的问题这么详细,非常感谢。我问的clock跟楼主的不一样,可能是我没说清楚,不好意思,我问的是bios里的clock,类似于定时器timer的功能,每周期触发一次的,不过现在问题已解决。还是非常感谢您的回答。

jian zong1:

回复 Canyu Su:

 你好,在没有仿真器的情况下,怎么测试某段代码运行多长时间?谢谢

赞(0)
未经允许不得转载:TI中文支持网 » C6678 CLOCK()函数是怎么用的
分享到: 更多 (0)