Architecture of the DFU process

nRF5 SDK v11.0.0

nRF5 SDK v11.0.0
This information applies to the following SoftDevices: S130, S132, S332

New firmware images can be transferred over two different transport protocols: BLE or using serial wire (HCI/UART). In both cases, the DFU bank handling is responsible for writing received data packets to flash memory.

The BLE transport uses a BLE service for data transfer (see BLE DFU Service ) and relies on the S13x or S332  SoftDevice.

The following figure shows a schematic overview of the DFU process using BLE:

dfu_transfer_ble_overview.svg
Architectural overview of the DFU process using the BLE transport protocol

Alternatively, new images can be transferred using HCI over UART (serial transport). The HCI transport layer increases robustness of the transfer. See UART_HCI PHY (reliable UART) for more information about UART_HCI, and Serial (HCI) packet format for more information about the packet format.

Serial transport does not use a SoftDevice. However, you must install a SoftDevice on your device to correctly create the Master Boot Record.

The following figure shows a schematic overview of the DFU process using with UART.

Page-1 Process.2 Bootloader Bootloader Process.3 DFU transport: Serial DFU transport: Serial Process.6 DFU bank handling DFU bank handling Border small Sheet.7 Sheet.8 DFU bootloader DFU bootloader Process.12 DFU transfer application DFU transfer application Border small.13 Sheet.12 Sheet.13 Peer side Peer side Dynamic connector.15 Start DFU procedure Start DFU procedure Dynamic connector.4 DFU packet DFU packet Process.1 HCI transport HCI transport Process.17 Driver (UART) Driver (UART) Process.21 Physical layer Physical layer Process.22 Flash Flash Dynamic connector.23 Flash handling Flash handling Dynamic connector TX TX Dynamic connector.13 RX RX Sheet.19 UART UART Dynamic connector.19 RX RX Dynamic connector.14 TX TX Dynamic connector.16 DFU packet DFU packet Dynamic connector.24 RX RX Dynamic connector.20 TX TX
Architectural overview of the DFU process using serial transfer