"여러 회사가 만든 코드를 한 ECU에 합치는 방법" 을 규정한 표준. 2003년 완성차·부품사 컨소시엄으로 시작했다.
왜 생겼나 — 문제는 기술이 아니라 공급망이었다
한 대의 차에 ECU가 수십 개 들어가고, 각각을 다른 회사가 만든다. 표준이 없으면 이런 일이 벌어진다.
- 부품사 A의 코드는 A가 쓰던 MCU에서만 돈다
- 완성차가 MCU를 바꾸면 처음부터 다시 짠다
- 같은 기능(진단·통신)을 회사마다 다르게 구현한다
그래서 인터페이스를 표준으로 못 박았다. 성능을 위한 표준이 아니라 통합 비용을 줄이기 위한 표준이라는 점이 핵심이다.
3층 구조
Application (SWC) 기능 — "거리가 30cm면 경고"
↓ RTE 컴포넌트 사이 통신 중계
BSW OS · 통신 · 진단 · 메모리 · 워치독 관리
↓
MCAL 레지스터를 직접 만지는 유일한 층
↓
Microcontroller
MCU가 바뀌면 MCAL만 갈아 끼운다. 위층 코드는 그대로 컴파일된다.
개발 방식이 다르다
일반 펌웨어가 "코드를 짠다" 라면 AUTOSAR는 "설정하고 생성한다" 에 가깝다.
.arxml 설정을 툴(EB tresos, DaVinci 등)이 읽어 C 코드를 만들어 낸다.
신입이 처음 보고 당황하는 지점이 정확히 여기다.
대가
- 설정 파일이 방대하고 툴이 유료다
- 얇은 기능 하나도 층을 모두 통과해 빌드·디버깅이 길다
- 그래서 단순 센서 노드는 베어메탈, ECU급 제어기에 AUTOSAR가 들어간다
- 타이밍이 급한 부분은 CDD로 계층을 우회한다
자주 나오는 오해
AUTOSAR는 OS가 아니다. OS(Os 모듈)는 BSW 안의 한 부품이다. "AUTOSAR 위에서 RTOS가 돈다"는 문장은 방향이 거꾸로다.