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.