AUTOSAR 개요: BSW, RTE, SWC
자동차 소프트웨어 표준 구조. 하드웨어에 가까운 BSW와 기능을 담은 SWC를 RTE가 이어 주는 방식.
계층
| 계층 | 내용 |
|---|---|
| SWC (애플리케이션) | 기능 로직. 하드웨어를 모름 |
| RTE | SWC 사이, SWC와 BSW 사이 통신을 생성된 코드로 연결 |
| BSW 서비스 | 통신(COM, PduR), 진단(DCM, DEM), 메모리(NvM), OS |
| ECU 추상화 | 보드 구성을 감춤 |
| MCAL | MCU 드라이버 (DIO, ADC, PWM, CAN) |
일하는 방식
- 시스템 설계에서 SWC와 그 포트(주고받는 데이터)를 ARXML로 정의
- 도구(Vector DaVinci, EB tresos)로 BSW 모듈 설정
- RTE와 BSW 코드 생성
- 개발자는 SWC의 러너블(주기적으로 불리는 함수) 안에 로직을 작성
void SpeedCtrl_Run10ms(void) {
uint16 spd;
Rte_Read_VehSpd_Value(&spd);
Rte_Write_TrqReq_Value(calc_torque(spd));
}
Classic과 Adaptive
- Classic: MCU, 정적 구성, 실시간 ECU
- Adaptive: 고성능 SoC, POSIX OS, 서비스 지향 통신(SOME/IP), 동적 배포
현업의 ASW 개발은 대부분 SWC 로직(많은 경우 Simulink 모델에서 코드 생성)을, BSW 개발은 통신·진단·드라이버 설정과 통합을 맡습니다.