RTOS 없이 구현한 스케줄러
RTOS를 사용하지 않는 베어메탈 Firmware의 프로그램 절차는 무한루프와 인터럽트로 이루어져 있습니다. 이번장에서는 무한루프의 구조를 어떻게 바꾸며 보다 효율적이고 좀 더 그럴듯하게 만들 수 있는지 알아보겠습니다. 우선 우리가 알고 있는 기본적인 while 무한루프입니다. /* main.c */ void main(void) { while(1) { process1(); process2(); switch(key) { case button1: break; case button2: break; case button3: break; default: break; ... } } } 위의 코드는 간단해보이지만 실제적으로는 훨씬 더 복잡해 질 가능성이 있습니다. 만약 설정(#ifdef)에 따른 process 유무가..