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!