#dfu #nrf #nordic #protocols #firmware #ble #usb

no-std nrf-dfu-target

Implementation of the Nordic nRF DFU protocol for devices

3 unstable releases

new 0.2.0 Dec 13, 2024
0.1.1 Mar 26, 2024
0.1.0 Aug 2, 2023

#1635 in Embedded development

Download history 6/week @ 2024-09-23 146/week @ 2024-12-09

146 downloads per month

MIT/Apache

52KB
1K 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

~180KB