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

MCAL

AUTOSAR에서 레지스터를 직접 만지는 최하위 계층. 인터페이스가 표준으로 고정돼 있어 MCU가 바뀌어도 상위 코드가 안 바뀐다.

Microcontroller Abstraction Layer. 하드웨어 의존성을 이 층 아래로 전부 몰아넣는 것이 AUTOSAR 이식성의 전부다.

HAL과 무엇이 다른가

벤더 HALMCAL
누가 정하나칩 회사가 편의로 제공AUTOSAR 규격이 함수명·인자·에러코드까지 규정
벤더가 바뀌면이름과 시그니처가 다 다르다같은 이름으로 호출된다
목적개발 편의교체 가능성

즉 MCAL은 "쉽게 쓰라고" 있는 층이 아니라 "바꿔 끼울 수 있게" 있는 층이다.

코드로 보면

/* 베어메탈 — 칩마다 레지스터 이름·비트 위치가 다르다 */
PTD->PSOR = (1u << 15);

/* MCAL — 채널 이름은 설정에서 나온다 */
Dio_WriteChannel(DioConf_DioChannel_LED_STATUS, STD_HIGH);

모듈 구성

Dio(디지털 입출력) · Port(핀 설정) · Adc · Pwm · Spi · Can · Fls(플래시) · Mcu(클럭·리셋) · Wdg(워치독) 처럼 주변장치별로 나뉜다. 칩 회사가 자사 MCU용 MCAL을 제공하며, NXP는 이를 RTD라는 이름으로 무료 배포한다.

면접에서

"MCAL이 뭔가요"에는 "하드웨어 의존 코드를 격리하는 층이고, 인터페이스가 표준이라 MCU를 바꿔도 위층이 안 바뀐다" 까지 말하면 충분하다.

함께 보면 좋은 용어

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