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.
您好,
我有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