Cortex-M4 Exception types

Shawn Lee·2025년 1월 21일

Reset

  • Reset은 전원이 켜질때 수행 된다. 이것은 특별한 경우의 형태이며, reset이 되면 processor가 멈추며 명령어의 어느 위치에 있던 상관을 안한다. reset이 비활성화 되면 vector table에 제공된 주소로부터 실행이 다시 시작되낟. 이때 Thread Mode에서 privileged Excution으로 실행된다. (-3)

NMI

  • (A Non Maskable Interrupt)는 peripheral 이나 SW에 의해 트리거 된다. reset다음으로 우선순위가 높다.(-2)

HardFault

  • 이것은 error during exception processing 혹은 메커니즘 적으로 문제가 발생할때 HardFault가 발생한다.(-1)
  • 보통 HardFault는 시스템에 치명적으로 불안정안 상태를 나타낸다. (ex.잘못된 메모리 접근, stackoverflow .etc)

SVCall

  • Superviser Call은 SCV명령어에 의해 트리거된다. OS환경에서 SVC명령어를 사용하여 커널이나 Divice Driver에 접근할 수 있다.

PendSV

  • Context Switching할 때 사용되는 녀석이다.

Systick

  • 타이머가 0에 도달핼때 발생하는 exception이다.

Interrupt

  • peripheral 그리고 SW 요청에 의해 발생한다. NMI와의 차이점은 설정에 있어서 NMI는 고정적이고, Interrupt는 유동적이다.
profile
Overpace

0개의 댓글