Memory Size Calculator

BYTES 0 B
KB 0 KB
MB 0 MB

End Address Finder

CALCULATED END ADDRESS 0x00000000

엔지니어 가이드: 메모리 맵 및 주소 영역 계산

FIELD NOTE · ADDRESS RANGE

주소 범위 계산에서 +1을 빼먹지 않는 방법

시작과 끝 주소를 모두 포함하는 메모리 범위는 단순 차이가 아니라 End-Start+1입니다. 이 한 byte 차이는 linker LENGTH, Flash erase 범위와 버퍼 경계에서 실제 결함으로 이어질 수 있습니다.

공식과 예제

0x20000000부터 0x20000FFF까지는 4096 bytes입니다. 시작 주소와 64 KiB 크기를 알면 끝 주소는 Start + 65536 - 1로 계산합니다.

정렬과 단위

KiB와 MiB는 각각 1024와 1024² bytes입니다. DMA, 캐시와 버스 접근은 2·4·8 byte 또는 더 큰 경계 정렬을 요구할 수 있으므로 용량이 맞아도 시작 주소가 유효한지 확인해야 합니다.

검증 기준

  • start=end인 1 byte 범위를 시험합니다.
  • end가 start보다 작은 입력을 거부합니다.
  • 주소 폭을 넘어서는 덧셈 overflow를 확인합니다.
  • erase sector와 쓰기 단위 경계를 비교합니다.

FAQ

0x0000~0xFFFF는 65535 bytes인가요? 양 끝을 포함하므로 65536 bytes입니다.

KB와 KiB는 같은가요? KB는 1000, KiB는 1024를 뜻하지만 임베디드 메모리는 흔히 1024 기준입니다.

주소 범위가 맞으면 접근 가능한가요? MPU, 보안 속성과 예약 영역을 별도로 확인해야 합니다.

검토 범위: 정수 포함 범위와 byte 단위 변환. 실제 접근 권한과 물리 메모리 구성은 데이터시트와 linker 설정을 따릅니다.