Memory

The nRF52832 contains flash and RAM that can be used for code and data storage.

The amount of RAM and flash will vary depending on variant, see Table 1.

Table 1. Memory variants
Device name RAM Flash Comments
nRF52832-QFAA 64 kB 512 kB  
nRF52832-QFAB 32 kB 256 kB  
nRF52832-CIAA 64 kB 512 kB  

The CPU and the EasyDMA can access memory via the AHB multilayer interconnect. The CPU is also able to access peripherals via the AHB multilayer interconnect, as illustrated in Figure 1.

Figure 1. Memory layout

See AHB multilayer and EasyDMA for more information about the AHB multilayer interconnect and the EasyDMA.

The same physical RAM is mapped to both the Data RAM region and the Code RAM region. It is up to the application to partition the RAM within these regions so that one does not corrupt the other.

RAM - Random access memory

The RAM interface is divided into multiple RAM AHB slaves.

Each RAM AHB slave is connected to two 4-kilobyte RAM sections, see Section 0 and Section 1 in Figure 1.

Each of the RAM sections have separate power control for System ON and System OFF mode operation, which is configured via RAM register (see the POWER — Power supply).

Flash - Non-volatile memory

The Flash can be read an unlimited number of times by the CPU, but it has restrictions on the number of times it can be written and erased and also on how it can be written.

Writing to Flash is managed by the Non-volatile memory controller (NVMC), see NVMC — Non-volatile memory controller.

The Flash is divided into multiple pages that can be accessed by the CPU via both the ICODE and DCODE buses as shown in, Figure 1. Each page is divided into 8 blocks.

Memory map

The complete memory map is shown in Figure 2. As described in Memory, Code RAM and the Data RAM are the same physical RAM.

Figure 2. Memory map

Instantiation

Table 2. Instantiation table
ID Base Address Peripheral Instance Description
0 0x40000000 POWER POWER

Power control

 
0 0x40000000 CLOCK CLOCK

Clock control

 
0 0x40000000 APPROTECT APPROTECT

APPROTECT control

 
0 0x40000000 BPROT BPROT

Block Protect

 
1 0x40001000 RADIO RADIO

2.4 GHz radio

 
2 0x40002000 UARTE UARTE0

Universal Asynchronous Receiver/Transmitter with EasyDMA

 
2 0x40002000 UART UART0

Universal Asynchronous Receiver/Transmitter

Deprecated

3 0x40003000 SPIM SPIM0

SPI master 0

 
3 0x40003000 SPIS SPIS0

SPI slave 0

 
3 0x40003000 SPI SPI0

SPI master 0

Deprecated

3 0x40003000 TWIM TWIM0

Two-wire interface master 0

 
3 0x40003000 TWIS TWIS0

Two-wire interface slave 0

 
3 0x40003000 TWI TWI0

Two-wire interface master 0

Deprecated

4 0x40004000 TWI TWI1

Two-wire interface master 1

Deprecated

4 0x40004000 TWIM TWIM1

Two-wire interface master 1

 
4 0x40004000 TWIS TWIS1

Two-wire interface slave 1

 
4 0x40004000 SPI SPI1

SPI master 1

Deprecated

4 0x40004000 SPIM SPIM1

SPI master 1

 
4 0x40004000 SPIS SPIS1

SPI slave 1

 
5 0x40005000 NFCT NFCT

Near Field Communication Tag

 
6 0x40006000 GPIOTE GPIOTE

GPIO Tasks and Events

 
7 0x40007000 SAADC SAADC

Analog to digital converter

 
8 0x40008000 TIMER TIMER0

Timer 0

 
9 0x40009000 TIMER TIMER1

Timer 1

 
10 0x4000A000 TIMER TIMER2

Timer 2

 
11 0x4000B000 RTC RTC0

Real-time counter 0

 
12 0x4000C000 TEMP TEMP

Temperature sensor

 
13 0x4000D000 RNG RNG

Random number generator

 
14 0x4000E000 ECB ECB

AES Electronic Code Book (ECB) mode block encryption

 
15 0x4000F000 CCM CCM

AES CCM Mode Encryption

 
15 0x4000F000 AAR AAR

Acelerated Address Resolver

 
16 0x40010000 WDT WDT

Watchdog timer

 
17 0x40011000 RTC RTC1

Real-time counter 1

 
18 0x40012000 QDEC QDEC

Quadrature decoder

 
19 0x40013000 LPCOMP LPCOMP

Low power comparator

 
19 0x40013000 COMP COMP

General purpose comparator

 
20 0x40014000 EGU EGU0

Event Generator Unit 0

 
20 0x40014000 SWI SWI0

Software interrupt 0

 
21 0x40015000 EGU EGU1

Event Generator Unit 1

 
21 0x40015000 SWI SWI1

Software interrupt 1

 
22 0x40016000 SWI SWI2

Software interrupt 2

 
22 0x40016000 EGU EGU2

Event Generator Unit 2

 
23 0x40017000 SWI SWI3

Software interrupt 3

 
23 0x40017000 EGU EGU3

Event Generator Unit 3

 
24 0x40018000 SWI SWI4

Software interrupt 4

 
24 0x40018000 EGU EGU4

Event Generator Unit 4

 
25 0x40019000 SWI SWI5

Software interrupt 5

 
25 0x40019000 EGU EGU5

Event Generator Unit 5

 
26 0x4001A000 TIMER TIMER3

Timer 3

 
27 0x4001B000 TIMER TIMER4

Timer 4

 
28 0x4001C000 PWM PWM0

Pulse Width Modulation Unit 0

 
29 0x4001D000 PDM PDM

Pulse Density Modulation (Digital Microphone Interface)

 
30 0x4001E000 NVMC NVMC

Non-Volatile Memory Controller

 
31 0x4001F000 PPI PPI

Programmable Peripheral Interconnect

 
32 0x40020000 MWU MWU

Memory Watch Unit

 
33 0x40021000 PWM PWM1

Pulse Width Modulation Unit 1

 
34 0x40022000 PWM PWM2

Pulse Width Modulation Unit 2

 
35 0x40023000 SPIS SPIS2

SPI slave 2

 
35 0x40023000 SPI SPI2

SPI master 2

Deprecated

35 0x40023000 SPIM SPIM2

SPI master 2

 
36 0x40024000 RTC RTC2

Real-time counter 2

 
37 0x40025000 I2S I2S

Inter-IC Sound Interface

 
38 0x40026000 FPU FPU

FPU interrupt

 
0 0x50000000 GPIO GPIO

General purpose input and output

Deprecated

0 0x50000000 GPIO P0

General purpose input and output

 
N/A 0x10000000 FICR FICR

Factory Information Configuration

 
N/A 0x10001000 UICR UICR

User Information Configuration

 
 

Documentation feedback | Developer Zone | Updated 2021-11-08