임베디드 면접 용어 사전
자동차 표준

RTE

AUTOSAR에서 소프트웨어 컴포넌트(SWC) 사이의 통신을 중계하는 계층. 상대가 같은 ECU든 버스 너머든 호출 코드가 같아진다.

Runtime Environment. SWC끼리 직접 함수를 부르지 못하게 막고, 모든 통신을 자기를 거치게 한다.

왜 중계자를 두나

/* 거리값을 내보내는 컴포넌트 */
Rte_Write_DistanceOut_value(distance_cm);

/* 받는 컴포넌트 */
uint16 d;
Rte_Read_DistanceIn_value(&d);

이 코드에는 상대가 어디 있는지가 없다. 같은 ECU 안의 다른 컴포넌트일 수도, CAN 너머 다른 ECU일 수도 있다. 배치가 바뀌어도 코드는 그대로다. 이 성질을 위치 투명성이라 부른다.

RTE는 사람이 짜지 않는다

설정(.arxml)에 "어느 포트가 어느 포트에 연결된다"를 적으면 생성기가 Rte_*.c/h 를 만들어 낸다. 그래서 통신 상대를 바꾸는 일이 코드 수정이 아니라 설정 변경이 된다.

러너블과 태스크

SWC 안의 실행 단위를 러너블(runnable)이라 하고, RTE가 이를 OS 태스크에 매핑한다. "10ms마다 실행" 같은 주기도 설정에서 정한다. 즉 스케줄링 결정이 코드가 아니라 설정에 남는다.

비용

한 번의 값 전달에 함수 호출과 복사가 끼어든다. 그래서 마이크로초 단위 응답이 필요한 경로는 RTE를 우회해 CDD로 처리한다.

함께 보면 좋은 용어

노트에서 맥락과 함께 보기 — 자동차 임베디드 표준 — AUTOSAR·ISO 26262(ASIL)·MISRA·UDS/ISO-TP·E2E