
거짓말 하나 안보태고 시리즈 | 임베디드 OS 개발 프로젝트 - 후회없이 전진 (velog.io)
를 보는게 더 쉽고 도움된다.
RTOS를 간략히 요약하자면 인터럽트 기반 멀티태스킹 스케줄러 라고 말할 수 있다.
여기서 인터럽트는 NVIC(중첩 인터럽트 컨트롤러)를 말하는 것이며
구현은 개발자 마음이다.
Preemtive Multitasking: 선점형 멀티태스킹
None-Preemtive Multitasking: 비선점형 멀티태스킹
__irq 예약어를 통해 IRQ 핸들러 구현을 할 수 있음
IRQ 동작전 컨텍스 스위칭을 해야하는데 컨텍스트 스위칭이란?
현재 TCB(Task Control Block)에 Context를 Stack에 백업 및 Restore 하는 것.
인터럽트: HW 적인 변화 감지를 하여 CPU 처리
폴링: 무한 루프로 감지를 계속 읽는 것
처리방식 3가지를 알아보자
DPC: Deffered Procedure Call
APC: Asynchronous Procedure Call
Bottom Half = DPC + APC