2017-02-27 15 views
0

Cortex-M 시리즈 MCU의 기능은 인터럽트가 구성된 저전력 모드 (슬립 또는 딥 슬립 또는 다른 MCU 특정 모드)에서 깨어날 수 있지만 장애인?인터럽트가 구성되었지만 비활성화 된 저전력 모드에서 깨우기 Cortex M 시리즈

저전력 모드로 들어가는 메커니즘은 WFI 명령을 실행 중입니다.

내가 STM과 Renesas에서 사용한 MCU는 인터럽트가 올바르게 구성되어 있고 cpsid 명령을 통해 모든 인터럽트가 비활성화 된 경우에도 인터럽트를 통해 저전력 모드에서 복귀합니다.

이것이 모든 Cortex M 시리즈 기반 MCU에서나 특정 MCU 공급 업체에서만 기대할 수있는 것인지 판단하려고합니다.

+0

이 문서에서 다루는 ST 문서를 읽었습니까? –

답변

0

PRIMASK을 사용하여 ALL 인터럽트를 비활성화하는 경우 모든 ARM Cortex-M은 이러한 방식으로 작동합니다. 이것은 CMSIS의 __disable_irq()입니다. 문서에 따르면 우선 순위를 BASEPRI으로 올리면 우선 순위가 충분하지 않은 인터럽트가 칩을 깨우지 않습니다.

는 여기를 참조하십시오 - http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/BABFEFIG.html

작동

WFI는 다음 이벤트 중 하나가 발생할 때까지 실행을 일시 중단 힌트 명령어입니다 :

  • 비 - 마스크 인터럽트가 발생하고 촬영
  • PRIMASK에 의해 마스크 된 인터럽트가 보류 중이 됨
  • 디버그 항목 요청.