ATmega MCU 타입을 위한 AVR-GCC 기반 임베디드 타스크 스케줄러

A Lightweight Embedded Task Scheduler for ATmega-typed MCUs based-on AVR-GCC

초록

This paper proposes a lightweight task scheduler useful for AVR-GCC-based embedded software projects on 8-bit ATmega microcontrollers. The task scheduler, which is mostly implemented in the C language, operates in a non-preemptive context-switching manner, leveraging the stack-frame characteristics of AVR-GCC. A running task voluntarily issues a yield request when it must wait for a certain period, wait for an external event, or detects a yield flag set by interrupts such as a timer interrupt. Compared to FreeRTOS, the proposed scheduler consumes less than 50% of the memory and achieves execution times up to 67% shorter under the given experimental conditions. However, due to its non-preemptive nature, its response time to general interrupts is about 5.8 times slower than that of FreeRTOS, whereas its response time to timer interrupts is significantly superior.

키워드

Embedded Operating SystemsATmega MCUAVR-GCCStack FrameFreeRTOS
제목
ATmega MCU 타입을 위한 AVR-GCC 기반 임베디드 타스크 스케줄러
제목 (타언어)
A Lightweight Embedded Task Scheduler for ATmega-typed MCUs based-on AVR-GCC
저자
이형봉권기현
DOI
10.14372/IEMEK.2025.20.6.409
발행일
2025-12
유형
Y
저널명
대한임베디드공학회논문지
20
6
페이지
409 ~ 415