임베디드 용어 사전
구조·RTOS

RTOS가 시간을 세는 기본 단위. 이 주기마다 스케줄러가 깨어나 태스크를 다시 고른다.

보통 SysTick 인터럽트로 만들고, 1ms 가 관행이다.

vTaskDelay(pdMS_TO_TICKS(10));   /* 10ms — 실제로는 틱 단위로 반올림된다 */

해상도의 트레이드오프

틱을 짧게 (0.1ms)   시간 분해능이 좋다 · 인터럽트 오버헤드가 커진다
틱을 길게 (10ms)    오버헤드가 작다 · 지연이 그만큼 거칠어진다

흔한 오해

vTaskDelay(1) 이 정확히 1ms 를 뜻하지 않는다. 지금이 틱 경계 직전이면 거의 0에 가깝고, 직후면 1틱을 꽉 채운다. 정확한 주기가 필요하면 절대 시간 기준 대기(vTaskDelayUntil 계열)를 쓴다.

틱리스 모드

저전력 설계에서는 틱 인터럽트가 CPU 를 계속 깨워 전류를 먹는다. 그래서 다음 깨어날 시각까지 타이머를 한 번에 설정하고 자는 틱리스 모드를 쓴다.

함께 보면 좋은 용어

노트에서 맥락과 함께 보기 — RTOS — 선점과 블로킹을 되찾는다