Introduction
The nRF Connect SDK Bare Metal option is a streamlined enhancement of the nRF Connect SDK, tailored for developers who are working on Bluetooth® LE applications that do not require the complexities of an RTOS or the full suite of advanced features. This option is particularly beneficial for applications that require a lightweight, responsive solution.
A major component of the Bare Metal configuration is the SoftDevice. To facilitate Bluetooth LE operations without an RTOS, a new SoftDevice variant supporting the latest nRF54L devices has been released. This new variant maintains a similar functionality and API to those found in the existing nRF52 SoftDevices, ensuring a smooth transition and familiarity for developers.
The Bare Metal codebase is structured to include libraries and modules that are specifically designed to operate without an RTOS. This ensures that all included components are optimized for threadless, bare metal environments.
The Bare Metal option is ideal for:
Developing simple, threadless applications without the need for Zephyr RTOS.
Migrating applications initially developed for nRF52 devices using the nRF5 SDK.
Integration and structure
The nRF Connect SDK Bare Metal option is a distinct repository that incorporates elements from the existing nRF Connect SDK:
Repository-Level Filtering: Bare Metal utilizes a repository-level filtering mechanism designed to include components beneficial for bare metal development. However, this approach is based on the best possible method available, which means that some components that are not suited for bare metal applications will also be included. Developers should be aware of these limitations and exercise discretion when utilizing the repository.
Reuse of nRF Connect SDK components: The Bare Metal solution reuses some components (such as modules/libraries) from the nRF Connect SDK repositories. These components are included and reused because they do not rely on Zephyr RTOS primitives, making them suitable for the bare metal SDK. Examples of modules/libraries reused in Bare Metal are logging, crypto functionality, and smaller libraries like CRC calculation, signing scripts, and ring buffer.
nrfx: The Bare Metal solution does not use Zephyr drivers and the Devicetree configuration for peripherals. Instead, nrfx drivers are used directly. Bare Metal uses the nrfx drivers that come with nRF Connect SDK.
Tools: Tools such as the compiler and linker from the original nRF Connect SDK are reused in Bare Metal. The existing nRF Connect extension in Visual Studio Code is the recommended IDE for working with Bare Metal.
Contents
- Installing the nRF Connect SDK Bare Metal option
- Board memory layouts
- Drivers
- Libraries
- Samples
- Device Firmware Update (DFU)
- Releases and maturity
- Software maturity levels
- Changelog for nRF Connect SDK Bare Metal option v2.0.99
- Release Notes for nRF Connect SDK Bare Metal option v2.0.0
- Release Notes for nRF Connect SDK Bare Metal option v1.0.0
- Release Notes for nRF Connect SDK Bare Metal option v0.9.0
- Release Notes for nRF Connect SDK Bare Metal option v0.8.0
- Release Notes for nRF Connect SDK Bare Metal option v0.7.0
- Release Notes for nRF Connect SDK Bare Metal option v0.1.0
- Migration notes - nRF5 SDK to nRF Connect SDK Bare Metal
- SoftDevice release notes and migration documents
- API documentation