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.
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.
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.
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).
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.
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 |
|