-
概述
低功耗模式下,CPU可以节约系统功耗,低功耗模式分为两种:
- sleep模式:处理器时钟已暂停
- deep sleep模式:系统时钟已关闭,PLL关闭,flash存储器已关闭。
SCR寄存器的SLEEPDEEP位标识是sleep模式?还是deep sleep模式?
-
进入sleep模式
本节主要聊一聊处理怎么进入Sleep模式:
- WFI:WFI指令可以是系统进入sleep模式,cpu停止指令执行。
- WFE:WFE指令可以使用系统进入sleep模式,但是进入sleep前需要检查event寄存器是否为0?0:处理器停止指令执行,进入sleep模式;1:清除该Bit位,继续执行指令,不进入sleep模式,如果event寄存器位1,则表明外部有event事件发生,或者处理器正在执行SEV指令。
退出Sleep模式,当处理器执行完所有的异常处理后,如果SCR寄存器中的SLEEPONEXIT=1,则处理器返回线程模式立刻进入sleep模式。
-
唤醒sleep模式
处理器如何进入sleep模式,决定如何sleep的唤醒,
WFI或sleep-on-exit唤醒:通常地,如果一个发生的异常有足够的优先级,则可以唤醒处理器,继续执行恢复执行Task。
WFE唤醒: