본문 바로가기

기술/개발 지식

OSEK - Overview

Motivation & Goal of OSEK

애플리케이션 외적인 부분의 개발 유지보수관리 비용이 크다. 서로 다른 제조사간 제어기 호환성이 떨어진다.

-> 가능한 추상적이고 애플리케이션에 독립적인 사양을 통해 애플리케이션 소프트웨어의 이식성을 높이고, 재활용성을 크게 향상시키자!

OSEK을 사용하면 일일히 하드웨어에 신경쓸 필요가 없다! 과연..

Why OSEK?

이미 다른 오픈소스 RTOS가 있지만 이들 OS의 문제는 자동차 산업에 특화되어 있지 않다는 점이다.

) 자동차 산업에 필요한 만큼 실시간이지 않으며, API가 동기 비동기 조합 task scheduling에 이상적이지 않다.

System philosophy, Advantage

Standardized interface : C 같이 사용가능

Scalability : 각기 다른 CC(Conformance Classes) 제공. 서로 다른 제조 사양에 유연하게 적용할 있다.

Error Checking : 개발 단계시 에러체크는 Extended status for development phase, 양산시 standard status for production phase

Portability of application software : OIL이라는 OSEK 표준 문법을 사용하기 때문에 애플리케이션 개발이 쉽다.

Support of Portability : OSEK으로 구현된  애플리케이션간 이식성이 증가한다.

Support for automotive requirements(reliability, real-time capability and cost sensitivity) : 정적으로 테스크, 자원, 알람 등을 설정해서 예측 가능하고 문서화가 가능하다.

Standards

OSEK OS(Operating System) : 멀티 태스킹을 지원하는 가장 기본적인 운영 환경이다. 태스크의 생성, 이벤트 기반의 태스크 스케줄링, 태스크 동기화 등의 기능이 제공된다. OSEK OIL로 구성 가능하며, OS를 위한 공통된 API를 제공한다.

OSEK COM(Communication) : 태스크들이 메시지를 주고 받으며 서로 통신할 수 있도록 해 준다. 같은 ECU에 있는 태스크들의 로컬 통신은 물론 네트워크를 통해 다른 ECU에 있는 태스크로의 원격 통신도 지원한다. 네트워크의 데이터 교환을 위한 표준화된 인터페이스 및 프로토콜을 제공한다

OSEKtime OS : 시간 기반 태스크 스케줄링을 지원한다. 시간 기반 태스크 스케줄링 에서는 태스크의 스케줄링 정보들이 미리 타임 테이블에 기록되어 정해진 시간에 정해진 순서대로 테스크들이 수행될 수 있도록 한다. OSEKtime OS와 OSEK OS는 함께 사용될 수도 있고, 또는 둘 중 하나만 사용될 수도 있다.

OSEK FTCom(Fault Tolerant Communication) : OSEK COM을 확장하여 태스크들이 주고 받는 메시지에 고장 감내성을 부여한다.

OIL(OSEK Implementation Language) : OSEK의 여러 옵션들을 정의하고 있다. 사용자는 이 OIL 파일을 작성하여 OSEK을 자신의 목적에 맞도록 최적화할 수 있다. OSCOM 구현을 위한 시스템 구성과 객체 기술를 제공한다.

OSEK NM(Network Management) : 네크워크 상태를 관리한다.

ORTI(OSEK Run Time Interface) : 내부 OS 데이터가 생성되며, 이 데이터는 OSEK 시스템 객체의 정보를 디버거 상 표시하는데 사용될 수 있다.

각 표준간 상호 관계

OSEK/VDX OS Requirements

다양한 제조사들가 만들 수 있는 소프트웨어 통합을 위한 기초가 되어야 한다.

재활용할 수 있게 소프트웨어의 이식을 위한 지원해야 한다.

정적인 구성을 갖는다.

ROMable

최소한의 하드웨어 자원 요구해야 한다.

실시간 멀티 테스킹이 가능해야 한다.

OSEK Implementation Language (OIL) Concept

OIL이란 OSEK 컨셉에 기반한 애플리케이션 개발을 위해 고안된 언어이다.

 - 애플리케이션 구조/구성 기술

 - OSEK 애플리케이션을 위해 C와 비슷한 문자 기반 구성 기술

 - 미리 정의된 구조 및 문법이 존재

OS의 구성은 객체 지향적이며, 각 객체는 정의되어야 할 특성을 정의한다.

OSEK에 명세된 모든 시스템 객체는 OIL를 통해서 기술된다.

 - OIL는 시스템 객체들을 위한 표준 타입을 정의한다.

 - 각 객체는 attribute reference의 조합으로 기술된다.

OIL File

OIL 파일은 두 부분으로 나뉜다.

 - Implementation Definition - 특정한 기능 구현을 정의한다.

 - Application Definition - 지정된 CPU에 위치한 애플리켕션의 구조를 정의한다.

 - Application Definitionobjectsvalues for attributes의 조합으로 이루어져있다.

OS, COM, NM 객체는 각각 하나씩 존재하며 다른 객체들은 여러 개 존재할 수 있다.

Application Development using OSEK OS

OIL을 통해 애플리케이션을 개발하고 OSEK OS 코드와 통합하는 과정

Conformance Classes

애플리케이션의 다양한 사양, 명세는 OS의 각기 다른 특징을 요구한다.

OS 특징은 Conformance Classes(CC)로 기술될 수 있다.

4가지의 각기 다른 OS 클래스가 존재한다.

4가지의 CC 개요
4가지 CC의 구성

OS Services

OSEK OS Service의 구성

'기술 > 개발 지식' 카테고리의 다른 글

OSEK - NM  (0) 2020.01.14
OSEK - OS(3)  (0) 2020.01.13
OSEK - OS (2)  (0) 2020.01.13
OSEK - OS (1)  (0) 2020.01.10
OSEK - 역사  (0) 2020.01.10