5.7 DFU Commands
In addition to the Data mode and Command mode, the RNBD451 supports a special mode called Device Firmware Update (DFU) mode. This is a special mode implemented in the RNBD451 to carry out the DFU operation. There are different possible ways to update the firmware with the help of rich command set support.
- Serial DFU – In this method, the firmware update on the RNBD451 device is achieved via serial UART communication. The RNBD451 command set supports the DFU commands to carry out serial DFU. To make use of the DFU update feature, the device must be first configured in DFU mode. After that, the DFU commands are passed as serial commands in the correct order to successfully update the firmware.
- Over-the-Air (OTA) DFU – In this method, the DFU update request is initiated from other Bluetooth Low Energy peer OTA. This approach strictly recommends having a successful and secure Bluetooth Low Energy link connection between two devices. When the OTA service receives the OTA DFU request from the OTA client profile (for example, OTA client on mobile App), RNBD451 enters the DFU mode immediately. A status event %OTA_REQ% will be received at the RNBD451 side (this event is passed on to host side from the RNBD451) and the remote device waits for the approval. The firmware update begins after the approval from the host to the RNBD451.
- Over-the-Air Profile Client (OTAPC) DFU – This method implements the device firmware update on the RNBD451 device via remote with the help of a peer RNBD451 device. The RNBD451 supports a special GATT profile to implement the OTA update procedure. This approach strictly recommends having a successful and secure Bluetooth Low Energy link connection between two devices. With the help of OTAPC command set support, the peer device (central device) is configured to work in DFU mode and carry out the OTAPC commands.
- Host OTA DFU through RNBD451 – This OTA update feature using a RNBD451 enables you to remotely and securely update the firmware on a host MCU over a wireless Bluetooth Low Energy connection. This feature is crucial for keeping embedded systems up-to-date, improving functionality and addressing security vulnerabilities without the need for physical access to the device.
Note: The firmware version in DIS is configurable by the Set Firmware Version (
SDF
) command. Although it is same as the result of the V
command by default, they could be different after DFU, because the SFD/GDF
command writes/reads the version information to/from PDS but the V
command prints the version information directly from the program code segment.