Hardware peripherals

SoftDevice access types are used to indicate the availability of hardware peripherals to the application. The availability varies per hardware peripheral and depends on whether the SoftDevice is enabled or disabled.

Table 1. Hardware access type definitions
Access type Definition
Restricted

Used by the SoftDevice and outside the application sandbox.

The application has limited access through the SoftDevice API.

Blocked

Used by the SoftDevice and outside the application sandbox.

The application has no access. Interrupts from blocked peripherals are forwarded to the SoftDevice by the MBR and are not available to the application, even inside a Radio Timeslot API timeslot.

Open

Not used by the SoftDevice.

The application has full access.

Table 2. Peripheral protection and usage by SoftDevice
ID Base address Instance

Access

SoftDevice enabled

Access

SoftDevice disabled

0 0x40000000 CLOCK Restricted Open
0 0x40000000 POWER Restricted Open
0 0x40000000 BPROT Restricted Open
1 0x40001000 RADIO Blocked4 Open
2 0x40002000 UART0 / UARTE0 Open Open
3 0x40003000 TWIM0 / TWIS0 / SPIM0 / SPIS0 / SPI0 / TWI0 Open Open
4 0x40004000 SPI1 / TWIS1 / SPIM1 / TWI1 / TWIM1 / SPIS1 Open Open
...
6 0x40006000 GPIOTE Open Open
7 0x40007000 SAADC Open Open
8 0x40008000 TIMER0 Blocked4 Open
9 0x40009000 TIMER1 Open Open
10 0x4000A000 TIMER2 Open Open
11 0x4000B000 RTC0 Blocked Open
12 0x4000C000 TEMP Restricted Open
13 0x4000D000 RNG Restricted Open
14 0x4000E000 ECB Restricted Open
15 0x4000F000 CCM Blocked5 Open
15 0x4000F000 AAR Blocked5 Open
16 0x40010000 WDT Open Open
17 0x40011000 RTC1 Open Open
18 0x40012000 QDEC Open Open
19 0x40013000 LPCOMP / COMP Open Open
20 0x40014000 EGU0 / SWI0 Open Open
21 0x40015000 EGU1 / SWI1 / Radio Notification Restricted6 Open
22 0x40016000 EGU2 / SWI2 / SoftDevice Event Blocked Open
23 0x40017000 EGU3 / SWI3 Open Open
24 0x40018000 EGU4 / SWI4 Blocked Open
25 0x40019000 EGU5 / SWI5 Blocked Open
...
30 0x4001E000 NVMC Restricted Open
31 0x4001F000 PPI Open1 Open
32 0x40020000 MWU Restricted2 Open
33 0x40021000 PWM1 Open Open
34 0x40022000 PWM2 Open Open
35 0x40023000 SPI2 / SPIS2 / SPIM2 Open Open
36 0x40024000 RTC2 Open Open
37 0x40025000 I2S Open Open
38 0x40026000 FPU Open Open
NA 0x10000000 FICR Blocked Blocked
NA 0x10001000 UICR Restricted Open
NA 0x50000000 GPIO P0 Open Open
NA 0xE000E100 NVIC Restricted3 Open
1 See section Programmable peripheral interconnect (PPI) for limitations on the use of PPI when the SoftDevice is enabled.
2 See section Memory isolation and runtime protection and Peripheral runtime protection for limitations on the use of MWU when the SoftDevice is enabled.
3 Not protected. For robust system function, the application program must comply with the restriction and use the NVIC API for configuration when the SoftDevice is enabled.
4 The peripheral is available to the application through the Radio Timeslot API, see Concurrent multiprotocol implementation using the Radio Timeslot API. When inside Radio Timeslot API timeslots, interrupts are forwarded to the SoftDevice which, in turn, invokes the signal handler callback functions, which are provided by the application, within the forwarded interrupt context.
5 The peripheral is available to application during a Radio Timeslot API timeslot, see Concurrent multiprotocol implementation using the Radio Timeslot API.
6 Blocked only when Radio Notification signal is enabled. See Application signals – software interrupts (SWI) for software interrupt allocation.

Documentation feedback | Developer Zone | Subscribe | Updated 2017-03-10