Virtual Memory Address — 임베디드에서는 실행 주소로 이해하면 된다.
int counter = 5;
counter++; // 이 접근이 향하는 주소가 VMA (SRAM)
LMA 와 짝으로 이해한다
VMA 실행 중에 접근하는 주소 .data → SRAM
LMA 바이너리가 저장돼 있는 주소 .data → 플래시
.text(코드)처럼 플래시에서 그대로 실행하는 섹션은 VMA = LMA 다.
.data 만 둘이 다르고, 그 차이가 부팅 시 복사를 만든다.
맵 파일에서 확인한다
링커가 뱉는 맵 파일에 섹션별 VMA·LMA·크기가 전부 적혀 있다. "RAM 이 왜 이렇게 많이 잡혔지" 를 조사할 때 가장 먼저 여는 파일이다.