Embedded Systems Memory Management - Basics

 What are the types of memory we need to know when we talk about embedded systems?

ROM  - Read Only Memory 

Purpose: Stores program code (firmware) and constants.

Non-volatile (retains data after power-off).

Variants - EEPROM, Flash

Random Access Memory (RAM)

Purpose: Temporary storage for variables, stack, buffers.

Volatile (loses content when power is off).

Variations: Static RAM or Dynamic RAM

Non-Volatile RAM (NVRAM)

Purpose: Retains content without power (often backed by battery or Flash).

Stores configuration data, calibration values, log

Cache Memory

Very fast SRAM used to speed up access between CPU and main memory.

Not all embedded systems have cache (common in higher-end ones with complex processors).


Now how is the memory layout for a typical embedded systems architecture.



There can be multiple stacks or multiple heaps in the memory layout.


Comments