Classic이 MCU용이라면 Adaptive는 SoC + 운영체제용이다. 둘은 대체 관계가 아니라 역할 분담이다.
왜 따로 만들었나
Classic의 전제는 "빌드 시점에 모든 것이 고정된다"이다. 그런데 자율주행·SDV 영역에서는 이런 요구가 생겼다.
- 인지 소프트웨어가 수백 MB, 동적 메모리와 파일시스템이 필요하다
- 기능을 업데이트로 추가한다
- 이더넷 위에서 서비스 단위로 통신한다
MCU용 표준으로는 감당이 안 되는 요구다.
비교
| Classic | Adaptive | |
|---|---|---|
| 대상 | Cortex-M/R, MCU | Cortex-A, SoC + POSIX |
| 언어 | C | C++ |
| 결합 | 빌드 시 고정 | 실행 중 서비스 탐색 |
| 통신 | CAN·LIN 신호 | 이더넷 · SOME/IP |
| 메모리 | 정적 할당 | 동적 할당 허용 |
| 안전 | ASIL D 사례 다수 | 보통 더 낮은 등급 + 별도 감시 |
한 차 안에 둘이 같이 있다
초음파 센서 노드 · 브레이크 제어 → Classic (MCU, 마이크로초)
카메라·라이다 융합, 경로 판단 → Adaptive (SoC, 밀리초)
공고에 RTOS와 Embedded Linux가 나란히 적히는 이유가 이 구조다.