0

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

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

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

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

4

1 回答 1

0

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

见这里 - http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/BABFEFIG.html

手术

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

  • 发生非屏蔽中断并被占用
  • 被 PRIMASK 屏蔽的中断变为待处理
  • 调试条目请求。
于 2017-02-27T22:18:18.067 回答