목록2025/06/17 (2)
지노랩 /JinoLab
RTOS에서 “틱(Tick)”은 시스템의 시간 흐름(time base) 을 관리하고,• 딜레이(vTaskDelay())나 소프트웨어 타이머를 구현하기 위해 “경과 시간”을 재고• 우선순위 기반 선점 스케줄링 시, 새로운 태스크를 실행해야 하는지 판단등 매우 중요한 역할을 합니다.STM32와 같은 ARM Cortex-M 마이크로컨트롤러의 경우, 일반적으로 SysTick 타이머를 사용하여 이 틱을 발생시키지만, 필요에 따라 다른 하드웨어 타이머(TIM6, TIM7 등)를 사용할 수도 있습니다.아래에서는 FreeRTOS의 틱 발생(configTICK_RATE_HZ), SysTick 초기화 코드, 틱 인터럽트 핸들러(Data Flow) 를 단계별로 자세히 살펴보겠습니다.1. configTICK_RATE_HZ 설..
FreeRTOS에서 틱(Tick) 은 “다음 스케줄링 주기를 알리는 시계” 역할을 합니다.즉, CPU가 얼마나 오랫동안 현재 태스크를 실행할지, 언제 딜레이된(블록된) 태스크를 깨워야 할지 등을 결정하는 핵심 기준이 됩니다.1. “틱”이란 무엇인가?틱(Tick)→ RTOS 내부에서 사용하는 시간 단위로, 보통 1 ms나 10 ms 등 일정 주기마다 발생하는 타이머 인터럽트입니다.→ 이 주기를 통해 FreeRTOS 커널은vTaskDelay() 등으로 “딜레이(Delay)”된 태스크 중 깨어날 시점을 판단우선순위 기반 선점(Preemption) 스케줄링 시, 주기마다 새로운 태스크로 문맥 전환 여부 결정소프트웨어 타이머(Software Timer) 를 운용를 수행합니다.configTICK_RATE_HZFre..