This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6678测试一段程序的运行时间



这段时间被这个问题折磨的快疯了,网上看了好多都说用csl_tsc.h来解决,不过我把能添加的库和头文件都添加了,还是显示unresolved symbol,后来我尝试用ccs5自带的csl库中的csl_tmr.h不过这个头文件实在不会用,网上又没有什么例程,到底怎么样才能方便快捷的测试一段程序的运行时间啊?我只想借此算一个吞吐率

  • 如果是DSP的话,你加 c6x.h这个文件,然后使用TSCL和TSCH两个宏定义获取时间。

    注意,要先设置TSCL=0,然后TSCL和TSCH才会计数。

  • c6x.h和csl_tsc.h都添加了,我使用的是CSL_tscEnable()和CSL_tscRead()来启动和读取tsc寄存器,我查看了csl_tsc.h文件,发现里面只有这两个函数的外部引用,所以我在main函数里面调用的话,就会显示unresolved symbo,我使用的ccs5.4版本,具体我是如下使用:
     CSL_Uint64 start=0;
     CSL_Uint64 overall=0; 

    CSL_tscEnable();

     start=CSL_tscRead();

    //要测试的代码。。。

      overall+=(CSL_tscRead()-start);

    点击Build就会出现如下错误:

     undefined                    first referenced
      symbol                              in file    
     ---------                           ----------------
     CSL_tscEnable            ./MD5.obj      
     CSL_tscRead               ./MD5.obj      

    你说的TSCL和TSCH并没有查看到相关定义啊,请问该如何使用啊?

  • 请问这个问题解决了吗???????????我也遇到这个问题了、、、求救啊。急死了。。。。。。。。。。加我QQ   468077782

  • 这么久了都没人回答?我也遇到同样的问题,在这里贴出我的解决办法。

    首先要知道TSCL和TSCH是在c6x.h中定义的,CSL_tsc.h中定义了CSL_tscEnable()和CSL_tscRead()。所以这两个头文件肯定是要包含的。

    如果还报错,那就是没有包含库,需要在Properties的File Search Path中包含库,如 ti.csl.ae66e。这样应该能够解决问题了。

    如果有用到TSC_enable和TSC_read来计时,那么需要包含这两个函数的源文件“tsc_h.asm”。我是在VLFFT工程中发现的。