embassy/examples/boot/stm32l0
Ulf Lilleengen bd237a1f96 Allow using separate page sizes for state and dfu
* Less generics on bootloader. Keep PAGE_SIZE as a common multiple of
DFU and ACTIVE page sizes.
* Document restriction
* Add unit tests for different page sizes
2022-04-28 10:38:25 +02:00
..
.cargo Add stm32 flash + bootloader support 2022-04-27 15:17:18 +02:00
src/bin Allow using separate page sizes for state and dfu 2022-04-28 10:38:25 +02:00
build.rs Add stm32 flash + bootloader support 2022-04-27 15:17:18 +02:00
Cargo.toml Add bootloader to CI 2022-04-27 15:17:18 +02:00
memory.x Add bootloader to CI 2022-04-27 15:17:18 +02:00
README.md Add bootloader to CI 2022-04-27 15:17:18 +02:00

Examples using bootloader

Example for STM32L0 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-stm32

Usage

# Flash bootloader
cargo flash --manifest-path ../../../embassy-boot/stm32/Cargo.toml --release --features embassy-stm32/stm32l072cz,thumbv6 --chip STM32L072CZTx
# Build 'b'
cargo build --release --bin b
# Generate binary for 'b'
cargo objcopy --release --bin b -- -O binary b.bin

Flash a (which includes b.bin)

cargo flash --release --bin a --chip STM32L072CZTx