# Memory

All aspects of the RSL15 system, including all memory instances, registers, and other components, are accessible from the Arm Cortex-M33 processor through one or more of the processor’s standard buses. This structure supports the control and configuration of all of the components of the system, and simplifies control of the RF front-end, Bluetooth protocol baseband hardware, and security elements.

The memory space of the RSL15 system is subdivided into four main segments:

1. The program memory used for storing and/or executing code on the Arm Cortex-M33 processor. This segment of the RSL15 memory map contains:
   - A 20-KB ROM instance
   - A 284-KB (RSL15-284) flash instance with 264 KB code and 20 KB data memory
   - A 512-KB (RSL15-512) flash instance with 352 KB code and 160 KB data memory
   - Four 256-byte non-volatile records with restricted use (four additional non-volatile records are reserved for use by the CryptocCell-312 only, and one is restricted for device manufacturing use only).
2. The data memory used for storing data and intermediate variables of the Arm Cortex-M33 processor, and/or the Bluetooth protocol baseband hardware. This segment of the RSL15 memory map contains:
   - Eight 8-KB data RAM instances only accessible by the Arm Cortex-M33 processor
   - Two 8-KB baseband data RAM instances acting as exchange memory between the Bluetooth protocol baseband hardware and the Arm Cortex-M33 processor
3. The peripheral bus accessible memory-mapped registers
4. The private peripheral bus accessible Arm Cortex-M33 processor system registers

A number of elements support these memory components, including:

- A direct memory access (DMA) controller module, which allows background transfers between peripherals and memory without core intervention (for more information on the DMA controller, see Direct Memory Access (DMA) Controller)
- A flash copier module that can be used to efficiently transfer data from flash to other memories and peripherals in the system
- Several memory arbiters
- Several redundant flash sectors

For more information about the memory structures available and the use of memory in an RSL15-based system, see Architecture.