목록RTOS (5)
승코딩당당당
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초 대기종..
RTOS(Real-Time Operating System)는 일반 운영체제와 달리 작업의 처리 순서보다 정해진 시간 내에 작업을 완료하는 것이 핵심인 시스템이다. 이러한 특성 때문에 스케줄링 방식 역시 단순한 효율성보다 각 Task의 Timing Requirement와 Deadline을 보장하는 구조로 설계된다. 본 글에서는 RTOS 스케줄링의 기본 개념을 시작으로, 자동차 소프트웨어에서 널리 사용되는 OSEK/VDX 표준의 구조와 목적을 함께 정리한다. OSEK이 ECU 내부에서의 Task, Event, Alarm, Resource 등을 어떻게 관리하는지, 그리고 VDX가 이를 어떻게 ECU 간 분산 시스템으로 확장하는지를 중심으로 살펴본다. 또한 RTOS를 이해하기 위한 배경 지식으로 Process,..
이번 실습에서는 AUTOSAR OS 환경에서 Task를 생성하고, 이를 주기적으로 실행하여 LED를 제어하는 과정을 수행하였다. 단순히 while문으로 LED를 제어하는 것이 아니라, AUTOSAR의 Task와 Alarm 기반 스케줄링 구조를 활용하여 실시간 시스템에서의 동작 흐름을 이해하는 데 목적이 있다. 특히, OS 레벨에서 Task가 어떻게 생성되고 실행되는지, 그리고 해당 Task가 실제 하드웨어 제어로 이어지는 과정을 직접 구현해보며 AUTOSAR 구조에 대한 이해를 높일 수 있었다. 실습 환경보드: TRK-MPC560XBMCU: MPC5606B개발 환경: mobilgene C StudioAUTOSAR Classic Platform 기반실습 목표AUTOSAR OS Task 생성 및 설정Task..
자동차 소프트웨어는 점점 더 복잡해지고 있으며, 다양한 제어기와 기능을 효율적으로 통합하기 위해 표준화된 플랫폼이 필수적으로 요구되고 있다. 이러한 흐름 속에서 등장한 것이 AUTOSAR 기반 소프트웨어 플랫폼으로, 하드웨어와 독립적인 구조를 통해 소프트웨어 재사용성과 안전성을 동시에 확보할 수 있도록 한다. 이 글에서는 소프트웨어 플랫폼의 개념과 필요성을 시작으로, AUTOSAR의 구조와 Classic/Adaptive의 차이, 그리고 실제 차량 시스템에서 중요한 역할을 하는 AUTOSAR OS의 핵심 요소(Task, Interrupt, Alarm, Resource 등)를 정리하였다. 특히 실시간 시스템에서 요구되는 스케줄링 방식과 우선순위 관리, 그리고 안정적인 동작을 위한 메커니즘까지 함께 다루며 전..