1. AUTOSAR
가. AUTOSAR?
AUTOSAR(AUTomotive Open System Architecture)의 목적은 자동차 ECU의 공통 기능을 위한 SW 아키텍처·인터페이스를 표준화하는 것이다. AUTOSAR의 이점은 다음과 같다.
-
ECU 간 애플리케이션을 재사용하고, 소프트웨어 제품의 시장 형성을 가능하게 함
-
품질, 확장성, 신뢰성 제고
-
자동차 SW 개발 및 유지 비용 최적화
-
제품의 수정, 업그레이드, 업데이트를 유연하게 처리할 수 있도록 함
나. Why AUTOSAR?

1) 과거 Automotive SW Development 방식
Bare-metal programming 위주로, HW가 변경되면 SW도 전부 수정해야 했다.
2) Conventional Automotive SW Development의 한계
- Basic Software(BSW): HW 의존적
- Application Software(ASW): HW 비의존적
OEM마다 상이한 BSW/ASW 구조를 채택했다. 즉, 표준 아키텍처의 부재로 Tier-1 업체마다 ECU SW 구조가 상이했다. 그래서 OEM이 새로운 Tier-1 업체를 선정하거나, 반대로 Tier-1 업체가 새로운 OEM을 선정할 때, 그 비용과 시간적 부담이 컸다.
3) AUTOSAR 컨소시엄 탄생 (2003)

앞서 언급된 문제를 해결하기 위해, 글로벌 완성차·부품·반도체·SW Tool Suppliers가 AUTOSAR 컨소시엄을 결성하였다.
다. AUTOSAR Architecture
1) AUTOSAR Classic Architecture

- Basic Software(BSW)
- Runtime Environment(RTE)
- Application Layer
2) BSW
가) 구조

- Service Layer
- ECU Abstraction Layer
- Microcontroller Abstraction Layer(MCAL)
- Complex Drivers
서비스는 System / Memory / Communication 기능군으로 더 세분화된다.
나) Microcontroller Abstraction Layer(MCAL)
① HW Abstraction Layer
- BSW의 최하위 레이어
- 특정 마이크로컨트롤러에 대한 인터페이스
② internal driver 포함
- 시스템 드라이버, 통신 드라이버(CAN(FD), LIN, Ethernet), 메모리 드라이버, Diagnotics 드라이버, I/O 드라이버
③ 마이크로컨트롤러 내부 주변장치와 메모리 매핑된 외부 장치에 직접 접근
④ 상위 SW 계층이 마이크로컨트롤러에 비의존하도록 함
다) ECU Abstraction Layer
- 상위 SW 계층에 ECU에 특화된 서비스 제공
- 상위 SW 계층이 ECU HW 레이아웃에 의존하지 않도록 함
- 이 layer와 drivers은 마이크로컨트롤러와는 독립적이지만, ECU HW에는 의존적. 그리고 통신, 메모리, 입출력 등 기능을 지원하는 ECU의 모든 주변장치 및 디바이스에 접근할 수 있도록 함
라) Complex Drivers Layer
- HW와 RTE를 가로지르는 특수 레이어
- AUTOSAR 미규격 디바이스, 매우 높은 타이밍 제약, 기존 플랫폼 마이그레이션 지원
- 마이크로컨트롤러와 ECU HW에 의존적
- 예시) 연료 분사 제어, 전동 밸브, 증분 위치 검출 등 복합 센서·액추에이터 제어
마) Services Layer
- BSW의 최상위 레이어
- OS를 포함하는데, 이 OS는 애플리케이션 계층부터 마이크로컨트롤러까지 전 범위에 걸쳐 실행
- OS는 애플리케이션 계층 및 마이크로컨트롤러 간 인터페이스 역할, 애플리케이션 태스크를 스케줄링
- 네트워크 서비스, 메모리 서비스, 진단 서비스, 통신 서비스, ECU 상태 관리 등과 같은 서비스 담당
- 마이크로컨트롤러 및 ECU HW와 독립적임
3) Runtime Environment (RTE)
- AUTOSAR SW의 미들웨어
- 애플리케이션 SW를 위한 통신 서비스 제공
→ AUTOSAR SW 컴포넌트는 他 컴포넌트(ECU 내부 또는 ECU 간) 및 BSW가 지원하는 서비스와 통신
- RTE 위에서는 SW 아키텍처 스타일이 기존의 계층형(layered) 구조에서 컴포넌트 기반(component style) 구조로 바뀜
- AUTOSAR SW 컴포넌트(SWC)가 특정 ECU에 종속되지 않고 독립적으로 동작할 수 있도록 함
4) Application Layer
애플리케이션 계층은 특정 용도에 따라 정의된 작업들을 수행하도록 설계된, 다양한 애플리케이션 전용 SW components로 구성되어 있다.
가) Application Software Components
- 특정 기능을 수행하는 가장 기본적인 단위의 애플리케이션 블록
- 각 component는 고유한 기능 로직 有
- AUTOSAR는 이 components에 대해 표준화된 인터페이스를 정의하여 개발자 간 호환성 보장
나) Ports of Software Components
- components 간 연결을 위한 정의된 통신 포트
- 이 포트로 다른 component 또는 BSW와 통신 가능
다) Port Interfaces
- 각 포트의 입출력 방식이나 데이터 구조를 정의
- components 간 정확하고 일관된 통신을 가능하게 함
<참고 자료>
전재욱 교수님, SDV 이해하기(K-MOOC), 성균관대학교 반도체시스템공학과, '24.12.09.~'25.02.28.