Arm 从低功率模式唤醒,中断已配置但已禁用Cortex M系列

Arm 从低功率模式唤醒,中断已配置但已禁用Cortex M系列,arm,sleep,interrupt,cortex-m,standby,Arm,Sleep,Interrupt,Cortex M,Standby,Cortex-M系列MCU的一项功能是能够在中断配置但被禁用的情况下从低功耗模式(睡眠或深度睡眠或其他MCU特定模式)中唤醒吗 进入低功耗模式的机制是执行WFI指令 如果中断配置正确,即使所有中断都通过cpsid指令禁用,我从STM和Renesas使用的MCU也会通过中断从低功率模式唤醒 我试图确定这是我在所有基于Cortex M系列的MCU上所期望的,还是仅针对某些MCU供应商。只要您使用PRIMASK禁用所有中断,每个ARM Cortex-M都将以这种方式工作。这就是CMSIS的\u禁用\u

Cortex-M系列MCU的一项功能是能够在中断配置但被禁用的情况下从低功耗模式(睡眠或深度睡眠或其他MCU特定模式)中唤醒吗

进入低功耗模式的机制是执行WFI指令

如果中断配置正确,即使所有中断都通过cpsid指令禁用,我从STM和Renesas使用的MCU也会通过中断从低功率模式唤醒


我试图确定这是我在所有基于Cortex M系列的MCU上所期望的,还是仅针对某些MCU供应商。

只要您使用
PRIMASK
禁用所有中断,每个ARM Cortex-M都将以这种方式工作。这就是CMSIS的
\u禁用\u irq()
所做的。根据文档,使用
BASEPRI
提高优先级不会导致优先级不足的中断来唤醒芯片

看这里-

操作

WFI是一条提示指令,在发生以下事件之一之前暂停执行:

  • 发生一个非屏蔽的中断,并采取该中断
  • 由PRIMASK屏蔽的中断变为挂起
  • 调试条目请求

您是否阅读了ST文档中涉及此主题的部分?