embassy/examples/boot
Ulf Lilleengen 2afff617f6 Support multiple flash instances in embassy-boot
* Add FlashProvider and FlashConfig traits to define flash
characteristics
* Use traits in bootloader to retrieve flash handles and for
copying data between flash instances
* Add convenience implementations for using a single flash instance.
2022-04-19 20:07:06 +02:00
..
.cargo Support multiple flash instances in embassy-boot 2022-04-19 20:07:06 +02:00
src/bin Support multiple flash instances in embassy-boot 2022-04-19 20:07:06 +02:00
build.rs Add embassy-boot 2022-02-09 10:50:29 +01:00
Cargo.toml Support multiple flash instances in embassy-boot 2022-04-19 20:07:06 +02:00
memory.x Add embassy-boot 2022-02-09 10:50:29 +01:00
README.md Add embassy-boot 2022-02-09 10:50:29 +01:00

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