본문 바로가기
임베디드 개발/STM32 (ARM Cortex-M)

STM32 ] 메모리 구조

by eteo 2023. 2. 6.

 

 

 STM32F429ZI 메모리 구조

 

  • Internal Flash Memory (Embedded Flash, On-Chip Flash) : 2MB Dual-Bank
  • System Memory (ROM) : 30KB (Read Only, ST사의 native bootlader가 저장된다)
  • OTP (One-Time Programmable) Memory : 528 bytes (Product No. Serial No. 저장 등에 사용된다)
  • Option bytes Memory : 32 bytes (Flash Memory에 Access하기 위한 flag로 사용된다)
  • Internal SRAM : 256KB
    • Internal SRAM1 : 112KB
    • Internal SRAM2 : 16KB
    • Internal SRAM3 : 64KB
    • CCM (Core Coupled Memory) : 64KB
  • Backup RAM : 4KB (배터리를 통해 전원이 나간 후에도 사용할 수 있다)

 

 

 

 

 

 

 

Internal Flash Memory

 

  • Size : Dual-Bank 2MB
  • Begin Address : 0x0000 0000
  • End Address : 0x81F FFFF
  • Non volatile
  • Application 코드와 Read only data, Vector table을 저장하기 위해 사용된다.

 

 

 

 

SRAM

  • Volatile
  • Application의 global data, static 변수를 저장하는데 사용되며, Stack 과 Heap의 용도로 사용된다.
  • 코드를 이 메모리에서 실행할 수도 있다. (SRAM에 코드를 저장해두고 그곳으로 점프시킬 수 있다.)

 

Internal SRAM1

  • Size : 112KB
  • Begin Address : 0x2000 0000
  • End Address : 0x2001 BFFF

 

Internal SRAM2

  • Size : 16KB
  • Begin Address : 0x2001 C000
  • End Address : 0x2001 FFFF

 

Internal SRAM3

  • Size : 64KB
  • Begin Address : 0x2002 0000
  • End Address : 0x2002 FFFF

 

 

 

 

 

 

 

System Memory (ROM)

 

  • Size : 30KB
  • Begin Address : 0x1FFF 0000
  • End Address : 0x1FFF 7A0F
  • 공장출고시 ST사의 Bootloader가 저장된다.
  • Read Only
  • Default 실행시 이 메모리에 저장된 코드는 실행되지 않으며, 실행하기 위해서 Reset 시 특정 boot configuration이 필요하다.

 

 

 

 

 

 

Flash 구조

 

Main memory 블락 User Flash라고도 불리며 2개의 Bank로 나뉘고 각 Bank는 12개의 섹터를 가지고 있는데, 섹터마다 size가 다르다.

 

IDE에서 코드를 다운로드하면 이 영역에 저장되며, default로 Sector 0부터 시작해 저장되지만 사용자가 다르게 설정할 수 있다.

 

 

 

 

 

 

Reference : FastBit Embedded Brain Academy