#dfu #nrf #nordic #protocols #firmware #ble #uart

no-std nrf-dfu-target

Implementation of the Nordic nRF DFU protocol for devices

2 releases

0.1.1 Mar 26, 2024
0.1.0 Aug 2, 2023

#1943 in Embedded development

MIT/Apache

53KB
1.5K SLoC

nrf-dfu-target

An implementation of the Nordic nRF DFU protocol in Rust that can be used in a no_std environment. It is based on the nRF SDK 17 DFU protocol, but is compatible with older versions as well.

The intention is that any transport (BLE, UART, USB) can use this crate for decoding the request, processing the request and encoding the response for the protocol.

You can use any flash device that implements the embedded-storage traits as the target.

It does not support updating more than one firmware type for each DfuTarget instance at the moment.

Example

For an example usage based on BLE, see the pinetime-embassy firmware which provides the GATT services and event dispatching.

Dependencies

~175KB