목록Trampoline (2)
승코딩당당당
RTOS 환경에서는 여러 태스크가 동시에 실행되며, 동일한 자원에 접근할 경우 데이터 충돌이 발생할 수 있다.이를 방지하기 위해 동기화 기법이 필요하며, 대표적인 방법이 Mutex이다. 본 글에서는 Mutex의 개념을 간단히 정리하고, OSEK/Trampoline 환경에서 직접 구현한 Mutex를 활용하여태스크 간 동기화가 어떻게 이루어지는지 실습을 통해 확인하였다. Mutex의 개념Mutex(Mutual Exclusion)는 하나의 공유 자원에 대해 동시에 하나의 태스크만 접근하도록 제한하는 동기화 기법이다. 즉, 특정 자원을 사용하려는 태스크는 먼저 lock을 획득해야 하며,이미 다른 태스크가 해당 자원을 사용 중이라면 접근할 수 없고 대기 상태에 들어가게 된다. ✔ 특징한 번에 하나의 태스크만 접..
이번 실습에서는 Trampoline RTOS 환경에서 여러 Task(Task1, Task2, TaskM)를 정의하고, Task 간 상태 변화와 스케줄링 동작을 확인하였다. 특히 ActivateTask, ChainTask, GetTaskState API를 활용하여 Task의 실행 흐름과 상태 전이를 관찰하는 데 초점을 맞췄다. 접근 방법1. 주기 Task (TickPrint)Timer2 기반 Alarm을 통해 약 1초 주기로 실행카운터 c를 증가시키며 로그 출력c == 0일 때 Task1을 활성화if (c == 0) { ActivateTask(Task1);} 2. Task1 → Task2 흐름 구성Task1 동작실행 시작 로그 출력Task 상태 확인3초 대기Task2 활성화다시 상태 확인3초 대기종..