TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

[参考译文] LAUNCHXL-F2.8027万F:确认系统的CPU使用率

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/578422/launchxl-f28027f-confirm-cpu-usage-for-my-system

部件号:LAUNCHTXL-F2.8027万F
主题中讨论的其他部件:BOOSTXL-DRV8305EVMMOTORWARE

您好,

我有Launchpadxl-f2.8027万F和bootxl-drv8305evm


我正在尝试使用  计时器2和项目在Lab5a示例中测量CPU使用率(从点A到点b)
      C:\ti\motorware\motorware_1_01_00_17/SW/ssolutions/instaspin_in/src/proj_lab05a.c.

我想确认"timer_delta_now"值为580,CPU_time结构的一部分是以微秒(usec)为单位的CPU使用率。

我的CPU频率为60MHz

计时器2初始化为:
     //使用计时器2进行CPU时间诊断
     timer_setDecimationFactor(obj->timerHandle[2],0);
     Timer_setEmulation Mode(obj->timerHandle[2],timer_Emulation Mode_runfree);
     timer_reload(obj->timerHandle[2];
     timer_setPeriod(obj->timerHandle[2],0xFFFFFFFFFFF);
     Timer_setPreScaler(obj->timerHandle[2],60);

系统已启用,电机ID已启用:
  gMotorVars.Flag_enableSys =1;
  gMotorVars.Flag_Run_Identify = 1;

点A = INSIDE While (gMotorVars.Flag_enableSys)循环
       //读取计时器2值并更新CPU使用模块
       uINT32_t timer2cnt = HAL_readTimercnt (halHandle,2);
       CPU_TIME_updateCnts(CPU_timeHandle,timer2cn);


B点:在"End of While(gFlag_enableSys) loop"之前
       //读取计时器2值并更新CPU使用模块
       timer2cnt = HAL_readTimercnt (halHandle,2);
       CPU_TIME_RUN (CPU_TIMEHandle,timer2cnt);

我正在持续监控CPU_TIME结构,我看到以下数据:

谢谢!

Asha  

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

    您好,Asha,

    当然,我会仔细研究一下,然后回复给您。  

    在您的消息中,您提到-"我正在持续监控CPU_TIME结构,我看到以下数据:"。 我看不到任何数据,如果您错过了,您是否可以发送?

    谢谢,此致,

    Nirav

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

    e2e.ti.com/.../cpuusage.docxHiNirav,

    谢谢,我将随附它

    谢谢!

    Asha

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

    Asha,

    以下是对您问题的回答-"I want to confirm that "timer_delta_now" value of 580,part of CPU_time structure is the CPU usage in microseconds (usec)"(我要确认"timer_deltate_now "值为580,CPU_time结构的一部分是以微秒

    "timer_deltate_now"-给出从PointA到PointB的周期计数的差值。 如果要将其转换为时间,则需要使用下面的公式:

    时间= timer_delta now*(prescalar+1)*(1/freq)

    因此,如果您已经描述过,它将如下所示:

    时间= 580*(60+1)*(1/60MHz)=~589us

    在您的情况下,由于您使用的是与系统频率相同的预标量,“timer_deltate_now”将与时间大致相同(以微秒为单位)。

    此致,
    Nirav

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

    很高兴我能提供帮助。 如果所有问题均已回答,请继续并关闭此帖子吗?

    谢谢,此致,
    Nirav