Memory

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

The amount of RAM and flash differs depending on variant, see Memory variants.

Table 1. Memory variants
Device nameRAMFlash
nRF52805-CAAA24 kB192 kB

The CPU and peripherals with 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 Memory layout.

Figure 1. Memory layout
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 three RAM AHB slaves.

RAM AHB slaves 0 to 2 are connected to two 4 kB RAM sections each, as shown in Memory layout.

Each RAM section has 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 4 kB pages that can be accessed by the CPU via both the ICODE and DCODE buses as shown in, Memory layout. Each page is divided into 8 blocks.

Memory map

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

Figure 2. Memory map
Memory map

Instantiation

Table 2. Instantiation table
IDBase addressPeripheralInstanceDescription
00x40000000APPROTECTAPPROTECT

APPROTECT control

 
00x40000000BPROTBPROT

Block protect

 
00x40000000CLOCKCLOCK

Clock control

 
00x40000000POWERPOWER

Power control

 
00x50000000GPIOP0

General purpose input and output

 
10x40001000RADIORADIO

2.4 GHz radio

 
20x40002000UARTUART0

Universal asynchronous receiver/transmitter

Deprecated

20x40002000UARTEUARTE0

Universal asynchronous receiver/transmitter with EasyDMA

 
30x40003000TWITWI0

Two-wire interface master

Deprecated

30x40003000TWIMTWIM0

Two-wire interface master

 
30x40003000TWISTWIS0

Two-wire interface slave

 
40x40004000SPISPI0

SPI master

Deprecated

40x40004000SPIMSPIM0

SPI master

 
40x40004000SPISSPIS0

SPI slave

 
60x40006000GPIOTEGPIOTE

GPIO tasks and events

 
70x40007000SAADCSAADC

Analog-to-digital converter

 
80x40008000TIMERTIMER0

Timer 0

 
90x40009000TIMERTIMER1

Timer 1

 
100x4000A000TIMERTIMER2

Timer 2

 
110x4000B000RTCRTC0

Real-time counter 0

 
120x4000C000TEMPTEMP

Temperature sensor

 
130x4000D000RNGRNG

Random number generator

 
140x4000E000ECBECB

AES Electronic Codebook (ECB) mode block encryption

 
150x4000F000CCMCCM

AES CCM mode encryption

 
150x4000F000AARAAR

Accelerated address resolver

 
160x40010000WDTWDT

Watchdog timer

 
170x40011000RTCRTC1

Real-time counter 1

 
180x40012000QDECQDEC

Quadrature decoder

 
200x40014000EGUEGU0

Event generator unit 0

 
200x40014000SWISWI0

Software interrupt 0

 
210x40015000EGUEGU1

Event generator unit 1

 
210x40015000SWISWI1

Software interrupt 1

 
220x40016000SWISWI2

Software interrupt 2

 
230x40017000SWISWI3

Software interrupt 3

 
240x40018000SWISWI4

Software interrupt 4

 
250x40019000SWISWI5

Software interrupt 5

 
300x4001E000NVMCNVMC

Non-volatile memory controller

 
310x4001F000PPIPPI

Programmable peripheral interconnect

 
N/A0x10000000FICRFICR

Factory information configuration

 
N/A0x10001000UICRUICR

User information configuration