임베디드 용어 사전
부팅·빌드

VMA

프로그램이 실행 중에 그 데이터를 보는 주소. 임베디드에서는 대개 SRAM 주소다.

Virtual Memory Address — 임베디드에서는 실행 주소로 이해하면 된다.

int counter = 5;
counter++;        // 이 접근이 향하는 주소가 VMA (SRAM)

LMA 와 짝으로 이해한다

VMA   실행 중에 접근하는 주소        .data → SRAM
LMA   바이너리가 저장돼 있는 주소      .data → 플래시

.text(코드)처럼 플래시에서 그대로 실행하는 섹션은 VMA = LMA 다. .data 만 둘이 다르고, 그 차이가 부팅 시 복사를 만든다.

맵 파일에서 확인한다

링커가 뱉는 맵 파일에 섹션별 VMA·LMA·크기가 전부 적혀 있다. "RAM 이 왜 이렇게 많이 잡혔지" 를 조사할 때 가장 먼저 여는 파일이다.

함께 보면 좋은 용어

노트에서 맥락과 함께 보기 — 링커 스크립트와 빌드 — 무엇이 어디에 놓이는가