nRF51 SDK - S110 SoftDevice
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
BLE DFU Bootloader

The BLE Bootloader/DFU example projects demonstrate how to update the SoftDevice, bootloader, or application on an nRF51 SoC. This update process is called a Device Firmware Update, or DFU for short. The new SoftDevice, bootloader, or application image can be transferred over-the-air (OTA) using the Nordic BLE DFU Service.

The SDK provides several example projects that you can use as a starting point for developing your own DFU bootloader or application with DFU support. You can choose to use BLE transport (the default) or serial (HCI/UART) transport.

Note that if you program a DFU bootloader on the device, you must use this bootloader to install the application. Programming the application with other tools will not update the bootloader settings, which means that the application might not start. Erase the device if you do not want to use the DFU bootloader anymore.

The following sections describe the general concept of a DFU bootloader and explain how to use and adapt the BLE DFU bootloader examples that are included in the SDK:

  • Architecture gives an overview of the components that are involved in a Device Firmware Update and how they interact, shows the general architecture, and presents the state machine that is the base for the implementation.
  • Memory layout describes which areas of the device's memory are used to store which firmware.
  • Transport layers gives detailed information about the transport protocols that can be used when performing a DFU.

For descriptions of the APIs and DFU procedures, see the Bootloader/DFU API section.