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

时间:2017-02-27 22:00:37

标签: arm sleep interrupt cortex-m standby

Cortex-M系列MCU能否在配置了中断但已禁用的低功耗模式(睡眠或深度睡眠或其他MCU特定模式)下唤醒?

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

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

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

1 个答案:

答案 0 :(得分:0)

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

请参阅此处 - http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/BABFEFIG.html

  

操作

     

WFI是一个提示指令,暂停执行,直到发生以下事件之一:

     
      
  • 发生非屏蔽中断
  •   
  • 由PRIMASK屏蔽的中断正在等待
  •   
  • 调试条目请求。
  •