Release Notes for nRF Connect SDK Bare Metal option v0.8.0
Bare Metal v0.8.0 is the public launch release of this product, demonstrating a set of samples for the nRF54L15 DK with build targets supporting the following SoCs:
The supported DK version is nRF54L15 DK v0.9.3.
The release includes a prototype version of the S115 SoftDevice - a proprietary Bluetooth® LE stack to be used on the nRF54L15 DK.
Product maturity
As this is version 0.8.0 of Bare Metal, please note that the solution is still under development and not production ready. Modules and libraries are subject to changes. This includes potential modifications to the organization of the folder structure. Although the memory partition structure is expected to remain consistent, the sizes of individual partitions might be refined as progress is made towards a stable release.
The documentation for Bare Metal is still in development and might not cover all libraries and modules available in the codebase. Some sections are incomplete and lacking detailed information as content is being developed.
IDE and tool support
nRF Connect extension for Visual Studio Code is the recommended IDE for Bare Metal v0.8.0. See the Installing the nRF Connect SDK Bare Metal option section for more information about supported operating systems and toolchain.
Supported boards
PCA10156 (nRF54L15 DK)
Migration from nRF5 SDK
For guidelines on how to migrate an application built on nRF5 SDK to Bare Metal, refer to Migration notes - nRF5 SDK to nRF Connect SDK Bare Metal option.
Changelog
The following sections provide detailed lists of changes by component.
SDK installation
The default way to install Bare Metal is through the nRF Connect for VS Code extension user interface, using either the Pre-packaged SDK & Toolchain option or a GitHub installation. For detailed steps, see Getting the code.
S115 SoftDevice
Updated the S115 SoftDevice version to
s115_9.0.0-3.prototype. The SoftDevice comes in three variants to support different SoCs of the nRF54L Series: nRF54L15, nRF54L10, and nRF54L05.s115_9.0.0-3.prototype_nrf54l15_softdevice.hexs115_9.0.0-3.prototype_nrf54l10_softdevice.hexs115_9.0.0-3.prototype_nrf54l05_softdevice.hex
SoftDevice Handler
Added support for seeding the SoftDevice RNG when requested by the SoftDevice.
Fixed the maximum MTU Kconfig option.
Boards
Added the following
bm_nrf54l15dkboard variants for MCUboot (DFU-enabled board variants):bm_nrf54l15dk/nrf54l05/s115_softdevice/mcubootbm_nrf54l15dk/nrf54l10/s115_softdevice/mcubootbm_nrf54l15dk/nrf54l15/s115_softdevice/mcuboot
Renamed the
bm_nrf54l15dkboard variants:bm_nrf54l15dk/nrf54l05/softdevice_s115tobm_nrf54l15dk/nrf54l05/s115_softdevicebm_nrf54l15dk/nrf54l10/softdevice_s115tobm_nrf54l15dk/nrf54l10/s115_softdevicebm_nrf54l15dk/nrf54l15/softdevice_s115tobm_nrf54l15dk/nrf54l15/s115_softdevice
Fixed:
Fixed wrong RRAM size on the nRF54L10 emulation target from 1022 to 1012 KiB.
Removed:
The template board variants.
The
no_softdevicevariants of thebm_nRF54l15dk.
DFU
DFU using MCUboot firmware loader mode is now introduced in the SDK:
Added experimental support for single-bank DFU, using the MCUboot bootloader and a firmware loader which is tasked to receive the new firmware image. The DFU supports updating either the application or the SoftDevice with the firmware loader.
For more details, see Device Firmware Update (DFU).
Logging
Fixed an issue with the minimal log mode.
Drivers
Added the following drivers:
The Low Power UART with EasyDMA (LPUARTE) driver.
A SoftDevice-based flash driver implementing the Zephyr flash interface. This is added exclusively for DFU and is not expected to be used by other parts of the application. Instead, use the Bare Metal Zephyr Memory Storage (BM_ZMS) and
bm_storagelibraries.
Libraries
Added the following libraries:
The Bare Metal Zephyr Memory Storage (BM_ZMS) library.
The
bm_storagelibrary.A queue library (modified library from Zephyr). This library has been added as a dependency for MCUmgr (used in DFU) offering support for threadless applications.
ble_advlibrary:Changed the default advertising name to
nRF_BM_device.Corrected the
CONFIG_BLE_ADV_DIRECTED_ADVERTISING_HIGH_DUTYKconfig option.
ble_conn_params librarylibrary:Updated connection parameter values to the
BLE_CONN_PARAMS_EVT_UPDATEDevent.Renamed slave latency to peripheral latency according to specification.
Fixed:
An issue where the ATT MTU could be set to a lower value than the current value.
An issue where the list of PHYs supported by the SoftDevice was not respected by the library when doing PHY updates.
Data length timeout issue and the
data_length_get()function returning wrong value.Incorrectly stated maximum ATT MTU value.
Samples
General changes:
All samples now use the logging module instead of
printk.Updated:
The main loop sleep instructions as the
sd_app_evt_wait()function is deprecated.Updated the main function flow to always end up in a loop with sleep instructions and deferred log processing instead of returning from the main function. This ensures that log messages are printed and that the device goes into sleep mode. Returning from main leaves the device in a state that prevents low power sleep and unhandled deferred log messages are not processed.
Bluetooth samples
Added the Bluetooth: Power Profiling sample.
Bluetooth: Continuous Glucose Monitoring Service sample:
Fixed an issue with responding twice to a PHY update request.
Bluetooth: Heart Rate Service sample:
Removed the unused Coded PHY Kconfig fragment.
Bluetooth: Nordic UART Service (NUS) sample:
Added support for Low Power UART with EasyDMA (LPUARTE).
Fixed:
The pin configuration to use the pins from the
board_config.hboard header.An issue in the
ble_nus_data_send()function where passing NULL as the NUS instance could cause a segmentation fault.
Peripheral samples
Added the following samples:
LPUARTE sample.
Bare Metal Storage sample.
DFU samples
Added the following samples:
MCUboot: Recovery entry sample that demonstrates how to activate DFU mode on the device using Bluetooth LE on a mobile application.
MCUboot: Recovery retention sample that demonstrates how to switch a device into DFU mode on embedded application’s request and execute DFU over UART or Bluetooth LE.
Known issues and limitations
Some issues are observed when using iPhone as the peer during testing of the Bluetooth samples.
Some issues are observed when using Linux with the Bluetooth Low Energy app in nRF Connect for Desktop as the peer during testing of the Bluetooth samples.
There are no samples or libraries available to demonstrate or support the Bluetooth LE Pairing and bonding functionality in the SoftDevice.
The samples are not optimized for power consumption unless explicitly stated.
Documentation
First public release of product documentation.
Added:
Top-level sections for Drivers, Libraries, Device Firmware Update (DFU), and S115 SoftDevice.
Documentation for the Bluetooth: Connection Parameters library.
API documentation section.
S115 SoftDevice are now integrated with the Bare Metal documentation.