Memory Map

moonsyu·2026년 8월 8일

stm32

목록 보기
2/9
post-thumbnail

개념

  • CPU가 접근할 수 있는 전체 주소 공간의 일부 주소 범위를 Flash, RAM, 주변장치 레지스터 등의 하드웨어 자원에 대응시켜 놓은 주소 배치 구조

    ※ Memory-mapped I/O : GPIO와 같은 주변 장치의 제어·상태 레지스터를 CPU 주소 공간에 배치하여, 일반적인 메모리 읽기·쓰기 명령으로 제어하는 방식

STM32 주소 대응 관계

이름기능주소
Main Flash프로그램 코드와 상수 저장0x0800_0000 ~ 0x0807_FFFF
SRAM1변수, Stack, Heap 등 실행 중 데이터 저장0x2000_0000 ~ 0x2001_BFFF
SRAM2추가 실행 데이터 저장0x2001_C000 ~ 0x2001_FFFF
TIM2타이머, 카운터, PWM0x4000_0000
USART2시리얼 통신0x4000_4400
GPIOAPA0~PA15 핀 제어0x4002_0000
GPIOBPB0~PB15 핀 제어0x4002_0400
GPIOCPC0~PC15 핀 제어0x4002_0800
RCCGPIO·타이머·통신장치의 클럭 관리0x4002_3800
Cortex-M4 내부 장치NVIC, SysTick, SCB 및 디버그 기능0xE000_0000 ~ 0xE00F_FFFF

Q. 대응된 주소 영역을 변경할 수 있는가?

A. 일부 주소는 변경 가능하다.

대부분의 주소 대응 관계는 MCU 설계 단계에서 고정되어 있어 변경이 불가능하다.

영역대응 변경 가능 여부
GPIO, UART, RCC 주소변경 불가능
내부 Flash와 SRAM의 원래 주소변경 불가능
0x0000_0000 Boot Alias설정에 따라 변경 가능
FMC·QSPI 외부 메모리 영역연결 및 설정에 따라 달라짐

0개의 댓글