i.MX8 SOM平台M4内核周期性性能下降问题求助
i.MX8 SOM平台M4内核性能周期性波动问题
我们在i.MX8 SOM平台上遇到M4内核性能周期性波动的问题:
- 任务目标:通过M4编程,在定时器中断处理函数中利用GPIO生成信号波形
- 异常现象:开机初期波形输出一切正常,但当Linux系统加载至命令行后,M4输出的波形时长变为原来的4倍,M4运行速度明显变慢
- 正常波形:

- 变慢后波形:

- 正常波形:
为排查问题,我们使用NXP官方示例driver_examples\gpt,并在定时器中断处理函数中添加了如下性能检测代码:
int summ = 0, t1, t2; void EXAMPLE_GPT_IRQHandler(void) { /* Clear interrupt flag. */ GPT_ClearStatusFlags(EXAMPLE_GPT, kGPT_OutputCompare1Flag); t1 = GPT_GetCurrentTimerCount(EXAMPLE_GPT); for (int i = 0; i < 1; i++) { summ += i; } // dummy loop t2 = GPT_GetCurrentTimerCount(EXAMPLE_GPT); PRINTF("time = %d \n\r", t2 - t1); }
运行后发现,空循环的耗时呈现两种稳定状态:开机初期约为10,Linux加载后约为40,但偶尔会变回10,耗时不稳定。
恳请协助解决该问题。
内容的提问来源于stack exchange,提问作者Valentin Hanbekov
相关产品推荐
相关产品推荐

