ed2a87a262
Embassy-boot is a simple bootloader that works together with an application to provide firmware update capabilities with a minimal risk. The bootloader consists of a platform-independent part, which implements the swap algorithm, and a platform-dependent part (currently only for nRF) that provides addition functionality such as watchdog timers softdevice support.
Examples using bootloader
Example for nRF52 demonstrating the bootloader. The example consists of application binaries, 'a' which allows you to press a button to start the DFU process, and 'b' which is the updated application.
Prerequisites
cargo-binutils
cargo-flash
embassy-boot-nrf
Usage
# Flash bootloader
cargo flash --manifest-path ../../embassy-boot/nrf/Cargo.toml --release --features embassy-nrf/nrf52840 --chip nRF52840_xxAA
# Build 'b'
cargo build --release --features embassy-nrf/nrf52840 --bin b
# Generate binary for 'b'
cargo objcopy --release --features embassy-nrf/nrf52840 --bin b -- -O binary b.bin
Flash a
(which includes b.bin)
cargo flash --release --features embassy-nrf/nrf52840 --bin a --chip nRF52840_xxAA