반응형
인터럽터 실행 중 다른 인터럽터가 발생했을 때 그 인터럽터를 실행하는 것을 Nested Interrupt라고 한다. Nested Interrupt는 우선순위가 있다. 우선순위가 낮은 인터럽터가 실행 중 우선순위가 높은 인터럽터가 발생하면 실행하고 우선순위가 낮은 인터럽터가 발생하면 실행하지 않는다.
STM32와 같이 MCU 하드웨어에서 Nested Interrupt가 지원될 때는 우선순위만 지정해 주면 된다. AVR과 같이 Nested Interrupt가 지원하지 않을 때는 소프트웨어로 구현해야 한다.
Nested Interrupt를 소프트웨어로 구현하는 것은 조금 까다롭고 잘못 설정하면 버그가 발생할 가능성이 높다. 하지만 다수의 인터럽터를 사용하기 위해서는 Nested Interrupt를 설정해야지만 원하는 동작을 정확하게 할수 있다. 복수의 인터럽터를 사용할 때 Nested Interrupt 설정을 해야하지만 그것이 어렵다며 인터럽터 개수를 1개로 줄여서 사용해야 한다.
반응형
'전자 > 임베디드 시스템' 카테고리의 다른 글
Eclipse에서 Perspective 자동 전환 (0) | 2022.02.24 |
---|---|
STM32CubeIDE의 metadata 폴더 이동 (0) | 2022.01.10 |
STM32 GPIO 레지스터 (0) | 2021.11.10 |
STM32 메모리 Remap (0) | 2021.11.03 |
STM32F0 벡터 테이블 (0) | 2021.11.03 |
댓글