购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.8 电源管理

ARMv7体系结构支持睡眠模式,可以停止Cortex-M3和系统时钟以最大限度降低功耗。在睡眠时,可以停止系统时钟,但可以让FCLK继续运行,以允许处理器能被SysTick异常唤醒。该体系结构支持立即睡眠、退出睡眠和深度睡眠等模式。

● 立即睡眠Sleep-now

等待中断(Wait For Interrupt,WFI)或等待事件(Wait For Event,WFE)指令请求立即睡眠模式。这些指令使得NVIC让处理器进入挂起其他异常事件的低功耗状态。

● 退出睡眠Sleep-on-exit

当系统控制寄存器的SLEEPONEXIT位置位时,一旦处理器退出最低优先级的ISR,它就进入低功耗状态。处理器无须将寄存器出栈,就可进入低功耗状态,并且无须让寄存器压栈就可产生下一个异常事件。内核一直处于睡眠状态直至别的异常被挂起。这是一个自动的WFI模式。

在如调试等各种情况下,“退出时睡眠”可以返回基址处。因而必须提供基址代码,如空闲循环(Idle Loop)或空闲线程。

● 深度睡眠Deep-sleep

深度睡眠与立即睡眠和“退出时睡眠”机制共用。当系统控制寄存器的SLEEPDEEP位置位时,处理器指示系统可以进入深度睡眠。 p2U03z4aQ5VoB9i1n4BQGIPAt8loOFrt0uf6DjAiPZsC8oTr6uxJWzE8qv36SWa/

点击中间区域
呼出菜单
上一章
目录
下一章
×