펌웨어 · 과목 13
RTOS
할 일이 많아지면 무한 루프 하나로는 감당이 안 됩니다. 실시간 운영체제가 그 답입니다.
목표: 여러 작업을 태스크로 나누고 동기화 문제 없이 돌릴 수 있다.
먼저 볼 과목 MCU 펌웨어자료구조와 알고리즘
다음 과목 임베디드 리눅스
지도에서 보기 →슈퍼루프의 한계
무한 루프 하나로 모든 일을 할 때 생기는 지연과 복잡도.
태스크와 스케줄러
작업을 태스크로 나누고, 스케줄러가 시간을 나눠 주는 방식.
우선순위와 선점
급한 태스크가 덜 급한 태스크를 밀어내는 선점형 스케줄링.
세마포어와 뮤텍스
공유 자원을 동시에 건드리지 않게 막는 장치.
큐와 이벤트 그룹
태스크끼리 데이터와 신호를 안전하게 주고받는 방법.
우선순위 역전
낮은 태스크가 높은 태스크를 막는 현상과 우선순위 상속.
메모리와 스택 관리
태스크마다 스택 크기를 정하고 넘침을 감지하는 방법.
FreeRTOS 실습
STM32에서 FreeRTOS로 센서 읽기, 통신, 제어를 태스크로 나눕니다.