飞思卡尔软件CW调试时怎样查看某段程序运行的时间

飞思卡尔软件CW调试时怎样查看某段程序运行的时间,第1张

1

在Register子窗口,会显示CPU

cycles:

xxx,这是从复位开始到当前断点的CPU周期。

2

某些型号,在状态栏可以查看从复位开始到当前断点的总时间。这个时间有两种表示方式,时间值和CPU周期,取决于设置频率时的选择,CPU

Cycles或True

Time。

手上没有调试板,以上在Full

Chip

Simulation时肯定有,硬件调试时忘了。

在Keil运行时可以看时间。见图。但只有在软件仿真时可以。

在Options for Taget 'Taget 1'中,Debug插页里,点Use Similation见图一。

在进入Debug后,图二绿框中所示即运行的机器周期数(States)和时间(Sec),以μS为单位。

BOOL QueryPerformanceFrequency(LARGE_INTEGER lpFrequency);可以返回硬件支持的高精度计数器的频率。先调用QueryPerformanceFrequency()函数获得机器内部计时器的时钟频率。接着在需要严格计时的事件发生前和发生之后分别调用QueryPerformanceCounter(),利用两次获得的计数之差和时钟频率,就可以计算出事件经历的精确时间。

#include "stdafxh"

#include <windowsh>

#include <timeh>

#include  "processh"

#define random(x) (rand()%x)

int _tmain(int argc, _TCHAR argv[])

{

    LARGE_INTEGER fre = { 0 };  //储存本机CPU时钟频率

    LARGE_INTEGER startCount = { 0 };

    LARGE_INTEGER endCount = { 0 };

    QueryPerformanceFrequency(&fre);//获取本机cpu频率

    //开始计时

    QueryPerformanceCounter(&startCount);

    //运算

    

    for (int i = 0; i < 10000000; i++)

    {

        float fTem1 = random(100)random(1000)random(10000)random(100000);

    }

    //结束计时

    QueryPerformanceCounter(&endCount);

    //计算时间差

    double dTimeTake = ((double)endCountQuadPart - (double)startCountQuadPart) / (double)freQuadPart;

    printf("用时%f\n", dTimeTake);

    system("pause");

    return 0;

}

以上就是关于飞思卡尔软件CW调试时怎样查看某段程序运行的时间全部的内容,包括:飞思卡尔软件CW调试时怎样查看某段程序运行的时间、用keil编译时怎么看程序运行的时间、C语言中如何输出显示程序的运行时间 望赐教!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9288278.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存