s13x_nrf5x migration document
Introduction to the s13x_nrf5x migration document
About the document
This document describes how to migrate to new versions of the s130_nrf51 and s132_nrf52 SoftDevices. The s130_nrf51 and s132_nrf52
release notes should be read in conjunction with this document.
For each version, we have the following sections:
"Required changes" describes how an application would have used the previous version of the SoftDevice and how it must now use
this version for the given change.
"New functionality" describes how to use new features and functionality offered by this version of the SoftDevice. Not all newNote:
functionality may be covered; the release notes will contain a full list of new features and functionality.
Each section describes how to migrate to a given version from the previous version. If you are migrating to the current version from the
previous version, follow the instructions in that section. To migrate between versions that are more than one version apart, follow the
migration steps for all intermediate versions in order.
Example: To migrate from version 5.0.0 to version 5.2.0, first follow the instructions to migrate to version 5.1.0 from version 5.0.0, then follow
the instructions to migrate to version 5.2.0 from version 5.1.0.
Copyright (c) Nordic Semiconductor ASA. All rights reserved.
s132_nrf52_5.0.0
This section describes how to migrate to s132_nrf52_5.0.0 from s132_nrf52_4.0.3.
Required changes
SoftDevice flash and RAM usage
The size of the SoftDevice has changed requiring a change to the application project file.
For Keil this means:
Go into the properties of the project and find the Target tab
Change IROM1 Start to . 0x23000
If the project uses a scatter file or linker script instead, they must be updated accordingly.
The RAM usage of the SoftDevice has also changed. should be used to find the APP_RAM_BASE for a particular sd_ble_enable()
configuration.
API renaming and updates
Some APIs are renamed or removed. Applications that use the old API names must be updated:
The timeout source has been removed. Use the existing BLE_GAP_TIMEOUT_SRC_SECURITY_REQUEST BLE_GAP_EVT_AUTH_ST
instead.ATUS {auth_status: BLE_GAP_SEC_STATUS_TIMEOUT}
BLE_GAP_ADV_NONCON_INTERVAL_MIN has been removed because the lower limit for the advertising interval for non-connectable
advertisement has been lowered to .BLE_GAP_ADV_INTERVAL_MIN
The compatibility mode is removed because the SoftDevice now accepts overlappingBLE_GAP_OPT_COMPAT_MODE_2
peer-initiated Link Layer control procedures as a slave.
NRF_ERROR_BUSY will no longer be returned by , , sd_ble_gap_adv_start() sd_ble_gap_scan_start() sd_ble_gap_auth
and .enticate() sd_ble_gap_connect()
NRF_ERROR_BUSY can now be returned when calling , sd_ble_user_mem_reply() sd_ble_gatts_rw_authorize_reply()