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
'임베디드 개발 > STM32 (ARM Cortex-M)' 카테고리의 다른 글
STM32 ] Boot Configuration (0) | 2023.02.06 |
---|---|
STM32 ] Reset Sequence 이해하기 (8) | 2023.02.06 |
STM32CubeIDE 프로젝트의 debug 와 release 빌드 차이점 (0) | 2023.02.06 |
STM32 ] HSE bypass 설정 (0) | 2023.02.05 |
STM32 ] Clock 설정, HSI, HSE, PLL, LSI, LSE (0) | 2023.02.05 |