Memory

The CPU and peripherals with EasyDMA can access memory through the AMBIX interconnects. The same interconnect is used by the CPU to access peripheral registers. The following figure is a simplified interconnect diagram.

Figure 1. Memory layout
Memory layout

See Block diagram, AMBA interconnect (AMBIX), and EasyDMA for more information about the AMBIX interconnects and EasyDMA.

RAM and RRAM memory regions are protected with TrustZone® security and are secure after reset. Memory regions can be configured to be non-secure by using MPC — Memory Privilege Controller.

RAM — Random access memory

The device RAM has sections arranged in one contiguous memory range, accessible from both the CPU and peripherals.

Each RAM sections has separate power control for System ON and System OFF mode. This preserves RAM contents in sleep modes or powers off RAM to save power. The sections are illustrated in Memory layout, and the register interface is described in MEMCONF — Memory configuration.

At the high end of the RAM address range are two dedicated areas:
  • ProtectedRAM is used for secure key storage.
  • VPR saved context is used by VPR to store and restore the context of the VPR during hibernation sleep.
For details, see Memory map.

NVM — Non-volatile memory

The CPU can read from non-volatile memory (RRAM) an unlimited number of times, but is restricted in how it writes to memory and the number of writes it can perform.

Writing to RRAM is managed by the RRAM controller (RRAMC), see RRAMC — Resistive random access memory controller.

The Arm® Cortex®-M33 CPU can access RRAM using the C-AHB (code) bus as shown in Memory layout. The code bus (C-AHB) interface is used for any instruction fetch or data access fetch to the code region of the Arm memory model. C-AHB bus access is cached, see CACHE — Instruction/data cache.

RRAM can also be accessed by FLPR. FLPR does not share the instruction cache with the Cortex-M33; it has its own built-in, dedicated cache that is only available to VPR. The regular CACHE — Instruction/data cache is dedicated to the Cortex-M33 and is not available to FLPR.

Memory map

The complete memory map is shown in the following figure.

Figure 2. Memory map
Memory map

Instantiation

Table 1. Instantiation table
IDBase addressInstanceTrustZoneSplit accessDescription
MapAttDMA
640x50040000SPU00

HF

S

NANo

System protection unit SPU00

650x50041000MPC00

HF

S

NANo

Memory privilege controller MPC00

66

0x50042000
0x40042000

DPPIC00 : S
DPPIC00 : NS

US

S

NAYes

DPPI controller DPPIC00

68

0x50044000
0x40044000

PPIB00 : S
PPIB00 : NS

US

S

NANo

PPI bridge PPIB00

69

0x50045000
0x40045000

PPIB01 : S
PPIB01 : NS

US

S

NANo

PPI bridge PPIB01

730x50049000KMU

HF

S

NSANo

Key management unit

74

0x5004A000
0x4004A000

AAR00 : S
AAR00 : NS

US

S

SANo

Accelerated address resolver 00

74

0x5004A000
0x4004A000

CCM00 : S
CCM00 : NS

US

S

SANo

AES CCM mode encryption CCM00, running of HCLKCORE

75

0x5004B000
0x4004B000

ECB00 : S
ECB00 : NS

US

S

SANo

AES ECB mode encryption 00

When configuring this peripheral's DMA security using SPU configuration (DMASEC field of SPU->PERIPH[apb_slave_index]), use apb_slave_index 10 (same as AAR00 and CCM00)

76

0x5004C000
0x4004C000

VPR00 : S
VPR00 : NS

US

NS

NANo

FLPR - VPR peripheral registers

780x5004E000GLITCHDET

HF

S

NANo

Glitch detectors

780x5004E000RRAMC

HF

S

NANo

RRAM Non-Volatile Memory Controller

82

0x50052000
0x40052000

CTRLAP : S
CTRLAP : NS

US

S

NSANo

Control access port CPU side

83

0x50053000
0x40053000

TAD : S
TAD : NS

US

S

NANo

Trace and debug control

85

0x50055000
0x40055000

TIMER00 : S
TIMER00 : NS

US

S

NANo

Timer TIMER00

88

0x50058000
0x40058000

EGU00 : S
EGU00 : NS

US

S

NANo

Event generator unit EGU00

890x50059000CRACEN

HF

S

NSANo

Crypto accelerator

1280x50080000SPU10

HF

S

NANo

System protection unit SPU10

130

0x50082000
0x40082000

DPPIC10 : S
DPPIC10 : NS

US

S

NAYes

DPPI controller DPPIC10

131

0x50083000
0x40083000

PPIB10 : S
PPIB10 : NS

US

S

NANo

PPI bridge PPIB10

132

0x50084000
0x40084000

PPIB11 : S
PPIB11 : NS

US

S

NANo

PPI bridge PPIB11

133

0x50085000
0x40085000

TIMER10 : S
TIMER10 : NS

US

S

NANo

Timer TIMER10

135

0x50087000
0x40087000

EGU10 : S
EGU10 : NS

US

S

NANo

Event generator unit EGU10

138

0x5008A000
0x4008A000

RADIO : S
RADIO : NS

US

S

SANo

2.4 GHz radio RADIO

See pinout for GPIO options for DFE antenna switch control

1920x500C0000SPU20

HF

S

NANo

System protection unit SPU20

194

0x500C2000
0x400C2000

DPPIC20 : S
DPPIC20 : NS

US

S

NAYes

DPPI controller DPPIC20

195

0x500C3000
0x400C3000

PPIB20 : S
PPIB20 : NS

US

S

NANo

PPI bridge PPIB20

196

0x500C4000
0x400C4000

PPIB21 : S
PPIB21 : NS

US

S

NANo

PPI bridge PPIB21

197

0x500C5000
0x400C5000

PPIB22 : S
PPIB22 : NS

US

S

NANo

PPI bridge PPIB22

198

0x500C6000
0x400C6000

SPIM20 : S
SPIM20 : NS

US

S

SANo

SPI controller SPIM20

198

0x500C6000
0x400C6000

SPIS20 : S
SPIS20 : NS

US

S

SANo

SPI peripheral SPIS20

198

0x500C6000
0x400C6000

TWIM20 : S
TWIM20 : NS

US

S

SANo

Two-wire interface controller TWIM20

198

0x500C6000
0x400C6000

TWIS20 : S
TWIS20 : NS

US

S

SANo

Two-wire interface target TWIS20

198

0x500C6000
0x400C6000

UARTE20 : S
UARTE20 : NS

US

S

SANo

Universal asynchronous receiver/transmitter UARTE20

199

0x500C7000
0x400C7000

SPIM21 : S
SPIM21 : NS

US

S

SANo

SPI controller SPIM21

199

0x500C7000
0x400C7000

SPIS21 : S
SPIS21 : NS

US

S

SANo

SPI peripheral SPIS21

199

0x500C7000
0x400C7000

TWIM21 : S
TWIM21 : NS

US

S

SANo

Two-wire interface controller TWIM21

199

0x500C7000
0x400C7000

TWIS21 : S
TWIS21 : NS

US

S

SANo

Two-wire interface target TWIS21

199

0x500C7000
0x400C7000

UARTE21 : S
UARTE21 : NS

US

S

SANo

Universal asynchronous receiver/transmitter UARTE21

201

0x500C9000
0x400C9000

EGU20 : S
EGU20 : NS

US

S

NANo

Event generator unit EGU20

202

0x500CA000
0x400CA000

TIMER20 : S
TIMER20 : NS

US

S

NANo

Timer TIMER20

203

0x500CB000
0x400CB000

TIMER21 : S
TIMER21 : NS

US

S

NANo

Timer TIMER21

204

0x500CC000
0x400CC000

TIMER22 : S
TIMER22 : NS

US

S

NANo

Timer TIMER22

205

0x500CD000
0x400CD000

TIMER23 : S
TIMER23 : NS

US

S

NANo

Timer TIMER23

206

0x500CE000
0x400CE000

TIMER24 : S
TIMER24 : NS

US

S

NANo

Timer TIMER24

207

0x500CF000
0x400CF000

MEMCONF : S
MEMCONF : NS

US

S

NANo

Memory Configuration MEMCONF

213

0x500D5000
0x400D5000

SAADC : S
SAADC : NS

US

S

SANo

Successive approximation analog-to-digital converter SAADC

215

0x500D7000
0x400D7000

TEMP : S
TEMP : NS

US

S

NANo

Temperature sensor TEMP

216

0x500D8200
0x400D8200

P1 : S
P1 : NS

US

S

NAYes

General purpose input and output, port P1

218

0x500DA000
0x400DA000

GPIOTE20 : S
GPIOTE20 : NS

US

S

NAYes

8 channels and 2 interrupts for GPIO port P1

GPIO tasks and events GPIOTE20

226

0x500E2000
0x400E2000

GRTC : S
GRTC : NS

US

S

NAYes

Global RTC GRTC

2390x500EF000TAMPC

HF

S

NANo

Tamper controller TAMPC

2560x50100000SPU30

HF

S

NANo

System protection unit SPU30

258

0x50102000
0x40102000

DPPIC30 : S
DPPIC30 : NS

US

S

NAYes

DPPI controller DPPIC30

259

0x50103000
0x40103000

PPIB30 : S
PPIB30 : NS

US

S

NANo

PPI bridge PPIB30

260

0x50104000
0x40104000

SPIM30 : S
SPIM30 : NS

US

S

SANo

SPI controller SPIM30

260

0x50104000
0x40104000

SPIS30 : S
SPIS30 : NS

US

S

SANo

SPI peripheral SPIS30

260

0x50104000
0x40104000

TWIM30 : S
TWIM30 : NS

US

S

SANo

Two-wire interface controller TWIM30

260

0x50104000
0x40104000

TWIS30 : S
TWIS30 : NS

US

S

SANo

Two-wire interface target TWIS30

260

0x50104000
0x40104000

UARTE30 : S
UARTE30 : NS

US

S

SANo

Universal asynchronous receiver/transmitter UARTE30

262

0x50106000
0x40106000

COMP : S
COMP : NS

US

S

NANo

Comparator COMP

262

0x50106000
0x40106000

LPCOMP : S
LPCOMP : NS

US

S

NANo

Low-power comparator LPCOMP

2640x50108000WDT30

HF

S

NANo

Watchdog timer WDT30

265

0x50109000
0x40109000

WDT31 : S
WDT31 : NS

US

S

NANo

Watchdog timer WDT31

266

0x5010A000
0x4010A000

P0 : S
P0 : NS

US

S

NAYes

General purpose input and output, port P0

268

0x5010C000
0x4010C000

GPIOTE30 : S
GPIOTE30 : NS

US

S

NAYes

4 channels and 2 interrupts for GPIO port P0

GPIO tasks and events GPIOTE30

270

0x5010E000
0x4010E000

CLOCK : S
CLOCK : NS

US

S

NANo

Clock control

270

0x5010E000
0x4010E000

POWER : S
POWER : NS

US

S

NANo

Power control

270

0x5010E000
0x4010E000

RESET : S
RESET : NS

US

S

NANo

Reset status

288

0x50120000
0x40120000

OSCILLATORS : S
OSCILLATORS : NS

US

S

NANo

Oscillator control

288

0x50120000
0x40120000

REGULATORS : S
REGULATORS : NS

US

S

NANo

Regulator control

N/A0x00FFC000FICR

HF

NS

NANo

Factory information configuration

N/A0x00FFD000UICR

HF

S

NANo

User information configuration

N/A0x00FFE000SICR

HF

S

NANo

Secure information configuration region

N/A0x50010000CRACENCORE

HF

S

NSANo

CRACEN core