EMBEDDED TOOLKIT

SYSTEMS R&D // DEV_TOOLS SUITE

Tools (65)

memory map visualizer

SYSTEM ONLINE

Microcontroller and Compilation Data

Physical Memory Map

FLASH (ROM) Usage
24.7 %
126.6 kB / 512 kB
.text
.data (init values)
RAM (SRAM) Usage
16.0 %
20.5 kB / 128 kB
.data (variables in RAM)
.bss
Rest: Stack / Heap

📖 STM32 Memory Sections

The visualizer analyzes the compiler log (e.g. GCC arm-none-eabi-size) showing actual silicon usage. It utilizes the most important, golden rule of microcontroller sections:

  • A global variable declared as int a = 5; (.data section) consumes memory **twice**! It takes RAM (since the variable lives there) and FLASH (where the value "5" is stored to initialize the variable upon reset).
  • A variable declared as int b; (.bss section) consumes only RAM, and before entering main() it is automatically zeroed by the startup.S code.
  • A RAM shortage warning does not mean you have zero bytes. You must always leave a large margin for the Stack for local variables and Heap e.g. for FreeRTOS tasks!