mirror of
https://github.com/embassy-rs/embassy.git
synced 2024-11-25 16:23:10 +00:00
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. |
||
---|---|---|
.. | ||
.cargo | ||
src/bin | ||
build.rs | ||
Cargo.toml | ||
memory.x | ||
README.md |
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