목록2025/06/12 (2)
지노랩 /JinoLab
“Hello-World” 예제로 배우는 우선순위 설정·코드 작성·동작 확인1. 왜 우선순위가 필요할까?단일-코어 MCU에서 여러 태스크가 동시에 READY 상태가 되면 OS(스케줄러)는 어느 태스크가 먼저 CPU를 가져갈지를 결정해야 합니다.값이 클수록 시급도가 높다.동점이면 Round-Robin(타임슬라이스)으로 교대한다.잘못 설계하면 ⬇️문맥 전환 난발 → RAM·CPU 낭비높은 시급도의 태스크 지연 → 실시간성 붕괴2 . configMAX_PRIORITIES 설정/* FreeRTOSConfig.h */#define configMAX_PRIORITIES 5 /* 0,1,2,3,4 총 5단계 */0 : 가장 낮음(예: LED Blink, 백그라운드 로깅)4 : 가장 높음(예: 모터 제어, ..
앞서 살펴본 것처럼 FreeRTOS에서는 애플리케이션을 여러 개의 “태스크(Task)”로 분리하여 각각 독립적으로 스케줄링할 수 있습니다.이 강의에서는 FreeRTOS에서 태스크를 생성(create)할 때 반드시 호출해야 하는 API, 즉 xTaskCreate()를 집중적으로 살펴보겠습니다.1. xTaskCreate 함수 개요BaseType_t xTaskCreate( TaskFunction_t pvTaskCode, // (1) 태스크 핸들러 함수 const char * pcName, // (2) 태스크 이름 (디버깅 용도) configSTACK_DEPTH_TYPE usStackDepth, // (3) 스택 깊이 (워드 단위) void * ..