embassy/examples/boot/application/stm32f3
pennae 8a9136e4e4 enable inline-asm feature for cortex-m in examples
inline assembly is supported since rust 1.59, we're way past that.
enabling this makes the compiled code more compact, and on rp2040
even decreses memory usage by not needing thunks in sram.
2023-04-18 21:07:36 +02:00
..
.cargo Move bootloader main to examples 2022-06-24 19:56:15 +02:00
src/bin Remove flash lock/unlock public API from stm32 flash, and perform the unlocking and locking automatically on erase and write operations 2022-09-30 06:00:46 +02:00
build.rs Move bootloader main to examples 2022-06-24 19:56:15 +02:00
Cargo.toml enable inline-asm feature for cortex-m in examples 2023-04-18 21:07:36 +02:00
memory.x Fix RAM origin copy paste from nrf 2022-06-29 19:14:07 +02:00
README.md Move bootloader main to examples 2022-06-24 19:56:15 +02:00

Examples using bootloader

Example for STM32F3 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 ../../bootloader/stm32/Cargo.toml --release --features embassy-stm32/stm32f303re --chip STM32F303RETx
# 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 STM32F303RETx