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.

[参考译文] CCS/am3359:Starterware: Clock()始终返回0

Guru**** 2595805 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/624081/ccs-am3359-starterware-clock-always-return-0

部件号:AM3359

工具/软件:Code Composer Studio

您好,TI:

AM335x入门套件,Starterware,CCS 7.2 .0.0.0013万

几天前在星塔型软件论坛上提问,但没有收到任何反馈。 e2e.ti.com/.../62.3551万 ...

我正在使用AM335x入门套件处理Starterware。 以下是clock()函数的测试程序。

#include <stdio.h>
#include <Time.h>

int main (int argc,char *argv[])

 int i;
 Clock_t t_start,t_stop,t_overhead;

 t_start =时钟();

 对于(I = 0;I < 1000万;+I) //虚拟用于循环
   ;

 t_stop =时钟();
 t_overhead = t_stop - t_start;

 printf ("占用:%ld个CPU时间\n",(长) t_overhead);
 返回0;
}

控制台输出:[CortxA8]花了:0 CPU时间

在e2e上搜索,并找到类似的主题,例如4年前的以下主题,

e2e.ti.com/.../30.3963万

它提到“在您的CCS调试视图-->目标菜单中,转至时钟并选择启用”。 但是,CCS7似乎发生了很大变化,我找不到启用此时钟的正确位置。 (如果我错过了,请帮助为我的指示提供屏幕截图)

我还尝试用我已经在工作的项目代码替换“虚拟循环”,以防CCS7优化“虚拟循环”。 虽然也没有什么帮助。

请告知,提前感谢。

Mike

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    已在RTOS上尝试,也返回0;
    已在Linux上尝试,返回有效值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Mike,

    您可以尝试设置计数事件。

    我在Cortex M类设备上做过这件事,但我相信您也可以在Cortex A上做同样的事

    www.youtube.com/watch

    此致,
    John
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,John:

    感谢您的回复。

    已在下一个线程中尝试
    e2e.ti.com/.../62.4092万 .....但是,内置功能将非常方便。 是否真的无法在starterware和处理器RTOS中启用clock()?

    另一方面,当我在RTOS中涉及时间戳/UIA时。 CCS编译/编译命中被错误消息击中

    未定义标识符"CT__ti_UIA_Events_DvtTypes_Module__startupDoneFxn"。

    我在下面的主题中总结了一下,您是否还介意花些时间来看看? 提前感谢。

    e2e.ti.com/.../62.3906万。。

    最佳
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Michael,

    其他线程上的人员最好能够帮助您在应用程序代码中执行与clock ()等效的操作。  我的专业知识主要是开发工具。

    此致,

    John

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否确定您的虚拟环路未被优化并导致0次? 尝试自行打印clock()。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Keith Barkley您好,

    我在后续测试中用其它DSP代码替换了虚拟部分,并在线程e2e.ti.com/support/arm/sitara_arm/f/791/t/62.4092万...//中报告。 由于clock ()不适用于starterware和RTOS,因此我使用了dmtimercounter / timestamp。

    带有dmtimercounter的起动器;

    具有时间戳的RTOS;

    带有clock ()的Linux。