我想让基于 imx6s 的板上的 CPU 频率不变。即使是 WFI 呼叫也不应该受到影响。到目前为止,我看到处理器处于 WFI 模式期间 CPU 频率显着下降。
根据imx6s 低功耗模式的技术参考手册,处理器将在 之后被转移,由寄存器的位WFI
配置(第 855 页)。我已将 LPM 位设置为 0x0,即所谓的 RUN 模式。据我了解,这应该足以不将处理器置于任何类型的睡眠模式(imx 上的等待或停止)。LPM
CLPCR
这背后还有别的什么吗?我在这里错过了什么吗?
假设我使用非 linux 自定义环境。
附录(我测量的方式和内容):
实验如下: 1. 使用 WFI
p1 = ArmPmuGetCpuCycles()
Sleep(100 miliseconds) <- here it goes to WFI
p2 = ArmPmuGetCpuCycles()
p2 - p1 = 600 microseconds
2. 没有 WFI
p1 = ArmPmuGetCpuCycles()
Sleep(100 miliseconds) <- WFI is removed
p2 = ArmPmuGetCpuCycles()
p2 - p1 = 100 miliseconds