我对贵公司提供的 PDK (以下简称"搜索路径")中的性能单元有疑问。
C:\ti\pdk_am57xx_1_0_9\packages/ti\csl\arch\a15\v1\performance_unit.asm
我正在尝试将使用此功能不断测量程序性能的程序集成到产品中。
您是否担心由于使用此功能而导致性能下降、程序挂起或无法睡眠?
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.
我对贵公司提供的 PDK (以下简称"搜索路径")中的性能单元有疑问。
C:\ti\pdk_am57xx_1_0_9\packages/ti\csl\arch\a15\v1\performance_unit.asm
我正在尝试将使用此功能不断测量程序性能的程序集成到产品中。
您是否担心由于使用此功能而导致性能下降、程序挂起或无法睡眠?
大家好、Parth
感谢您的回答。
您回答:"不用担心使用这个函数。" 理解即使处于启用状态、微型计算机也进入节能模式是正确的吗?
为了说明如何使用代码、
以下是我们的实现。
1.Setup Function (设置功能)
静态空 ARM_CCNT_Reset (void)
{
__ ASM____易失性_(
" MRC P15、#0、r0、C9、C12、 #0 @读取性能监视控制寄存器 \n"
" Orr r0、r0、#0x000000000D @PMCCNTR 每64个时钟周期计数一次 \n"
" MCR P15、#0、r0、C9、C12、 #0 @重置周期数寄存器 \n"
" mov r1,#0x80000000 \n"
"MCR P15、#0、R1、C9、C12、 #1 @启用循环计数 \n"
);
}
2.测量功能
静态 uint32_t ARM_CCNT_READ (void)
{
uint32_t timeVal;
__ ASM____易失性_(
" MRC P15、0、%0、C9、C13、 0 \n":"=r"(timeVal)
);
返回 timeVal;
}
void sample_func (void){
uint32_t time1、time2;
Time1 = ARM_CCNT_Read ();
test_funcA();
Time2 = ARM_CCNT_Read ();
printf ("funcA time =%d"、time2-time1);
}
n exa
您好、Kyle、
我向客户确认了。 它是节能模式是调用 CpuIdleTest()时的状态。
这些信息对您来说足够吗?
谢谢你。