Memory resource map and usage

S145 SoftDevice

The memory map for program memory and RAM when the SoftDevice is enabled is described in this section.

Memory resource map illustrates the memory usage of the SoftDevice alongside a user application. The NVM for the SoftDevice is always reserved, and the application program code should be placed from the start of NVM and up to SD_CODE_BASE. Once enabled, the RAM usage of the SoftDevice increases. With the exception of the call stack, the RAM usage for the SoftDevice is always isolated from the application usage. Therefore, the application is required to not access the RAM region below APP_RAM_BASE. The value of APP_RAM_BASE is obtained by calling sd_ble_enable, which always returns the required minimum start address of the application RAM region for the given configuration. An access below the required minimum application RAM start address results in undefined behavior. The RAM requirements of an enabled SoftDevice are detailed in S145 memory resource requirements for RAM.

Figure 1. Memory resource map
Memory resource map