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 regions arranged in one contiguous memory range, accessible from both the CPU and peripherals.

Each RAM region 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.

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

67

0x50043000
0x40043000

PPIB00 : S
PPIB00 : NS

US

S

NANo

PPI bridge PPIB00

68

0x50044000
0x40044000

PPIB01 : S
PPIB01 : NS

US

S

NANo

PPI bridge PPIB01

690x50045000KMU

HF

S

NSANo

Key management unit

70

0x50046000
0x40046000

AAR00 : S
AAR00 : NS

US

S

SANo

Accelerated address resolver 00

70

0x50046000
0x40046000

CCM00 : S
CCM00 : NS

US

S

SANo

AES CCM mode encryption CCM00, running of HCLKCORE

71

0x50047000
0x40047000

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 6 (same as AAR00 and CCM00)

720x50048000CRACEN

HF

S

NSANo

Crypto accelerator

74

0x5004A000
0x4004A000

SPIM00 : S
SPIM00 : NS

US

S

SANo

SPI controller SPIM00

74

0x5004A000
0x4004A000

SPIS00 : S
SPIS00 : NS

US

S

SANo

SPI peripheral SPIS00

74

0x5004A000
0x4004A000

UARTE00 : S
UARTE00 : NS

US

S

SANo

Universal asynchronous receiver/transmitter UARTE00

750x5004B000GLITCHDET

HF

S

NANo

Glitch detectors

750x5004B000RRAMC

HF

S

NANo

RRAM Non-Volatile Memory Controller

76

0x5004C000
0x4004C000

VPR00 : S
VPR00 : NS

US

NS

NSANo

FLPR - VPR peripheral registers

800x50050400GPIOHSPADCTRL

HF

S

NANo

GPIO HS pad control GPIOHSPADCTRL

80

0x50050400
0x40050400

P2 : S
P2 : NS

US

S

NAYes

General purpose input and output, port P2

Does not support pin sense mechanism, and DETECTMODE register has no effect. Supports extra high drive (DRIVE0=E0, DRIVE1=E1).

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

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

200

0x500C8000
0x400C8000

SPIM22 : S
SPIM22 : NS

US

S

SANo

SPI controller SPIM22

200

0x500C8000
0x400C8000

SPIS22 : S
SPIS22 : NS

US

S

SANo

SPI peripheral SPIS22

200

0x500C8000
0x400C8000

TWIM22 : S
TWIM22 : NS

US

S

SANo

Two-wire interface controller TWIM22

200

0x500C8000
0x400C8000

TWIS22 : S
TWIS22 : NS

US

S

SANo

Two-wire interface target TWIS22

200

0x500C8000
0x400C8000

UARTE22 : S
UARTE22 : NS

US

S

SANo

Universal asynchronous receiver/transmitter UARTE22

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

208

0x500D0000
0x400D0000

PDM20 : S
PDM20 : NS

US

S

SANo

Pulse density modulation (digital microphone) interface PDM20

209

0x500D1000
0x400D1000

PDM21 : S
PDM21 : NS

US

S

SANo

Pulse density modulation (digital microphone) interface PDM21

210

0x500D2000
0x400D2000

PWM20 : S
PWM20 : NS

US

S

SANo

Pulse width modulation unit PWM20

211

0x500D3000
0x400D3000

PWM21 : S
PWM21 : NS

US

S

SANo

Pulse width modulation unit PWM21

212

0x500D4000
0x400D4000

PWM22 : S
PWM22 : NS

US

S

SANo

Pulse width modulation unit PWM22

213

0x500D5000
0x400D5000

SAADC : S
SAADC : NS

US

S

SANo

Successive approximation analog-to-digital converter SAADC

214

0x500D6000
0x400D6000

NFCT : S
NFCT : NS

US

S

SANo

Near field communication tag NFCT

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

2200x500DC000TAMPC

HF

S

NANo

Tamper controller TAMPC

221

0x500DD000
0x400DD000

I2S20 : S
I2S20 : NS

US

S

SANo

Inter-IC sound interface I2S20

224

0x500E0000
0x400E0000

QDEC20 : S
QDEC20 : NS

US

S

NANo

Quadrature decoder QDEC20

225

0x500E1000
0x400E1000

QDEC21 : S
QDEC21 : NS

US

S

NANo

Quadrature decoder QDEC21

226

0x500E2000
0x400E2000

GRTC : S
GRTC : NS

US

S

NAYes

Global RTC GRTC

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/A0x51800000CRACENCORE

HF

S

NSANo

CRACEN core