1 电源锁和动态频率切换
1.1 什么是电源锁
先概括的介绍一下IDF电源管理组件中的电源锁与动态频率切换。对主机CPU有了解的都知道,像Intel的酷睿处理器有个睿频功能,CPU非常聪明,可以在繁忙(需要高性能)的时候抬高频率,在不忙的时候降低频率,这样动态频率切换在保证用户体验的同时还节省了能耗、降低了对散热系统的要求。Intel的CPU的睿频功能主要是硬件完成的,esp系列芯片当然没有这么强大的功能,不过IDF通过软件实现了类似的功能(当然和睿频比是比较粗浅的)。
实现动态频率切换的关键在于电源锁。到底什么是电源锁呢?不妨举个具体的例子来说明。加入用户创建了两个task,一个用来跑wifi协议栈,需要芯片运行在240MHz
,另一个跑业务逻辑,对性能要求不高,有80MHz
即可。那么用户可以创建一把240MHz
的电源锁和一把80MHz
的电源锁。wifi task运行的时候,则对240MHz
电源锁执行上锁操作,在该task空闲(比如等待某个信号量的时候)释放240MHz
电源锁。在另一个task中也执行类