WFI
WFI 即 Wait for interrupt,常用于低功耗。
WFI (Wait for interrupt) 和 WFE (Wait for event) 是两个让 ARM 核进入 low-power standby 模式的指令,由 ARM architecture 定义,由 ARM core 实现。本文主要介绍 WFI。
基本原理
ARM 架构中的指的是 Wait For Interrupt
(等待中断)指令。WFI 是一种低功耗指令,用于在处理器处于空闲状态时降低功耗。下面是关于 WFI 的详细介绍:
WFI 指令会将处理器置于低功耗状态,直到某个外部或内部中断发生。执行 WFI 指令后,处理器停止执行下一条指令并进入等待状态,只有在接收到中断请求或特定事件时,处理器才会退出等待状态并继续执行。
- 进入低功耗状态:当执行 WFI 指令时,处理器进入低功耗模式,此时它会停止大部分活动,从而减少功耗。
- 等待中断:处理器在低功耗模式下静待中断或事件的发生。可以是硬件中断(如外部设备的中断信号)或软件中断。
- 响应中断:当中断或事件发生时,处理器退出低功耗模式,恢复正常工作状态,开始处理中断服务例程(ISR)或继续执行主程序。
使用场景
WFI 指令常用于嵌入式系统中,以实现以下目标:
- 节能:在处理器无任务处理时,通过进入低功耗状态减少功耗,延长电池寿命。
- 系统空闲