embassy/examples/boot/application/rp
Derek Hageman 7ed9e29326 rp: add async flash
Implement an async flash mode using the XIP background best effort
read interface.  Only reads are actually async, write and erase remain
blocking.
2023-07-28 16:50:54 -06:00
..
.cargo Update probe-rs-cli -> probe-rs 2023-06-29 02:39:28 +02:00
src/bin rp: add async flash 2023-07-28 16:50:54 -06:00
build.rs feat: embassy-boot for rp2040 2022-12-02 11:28:33 +01:00
Cargo.toml Release embassy-time v0.1.2 2023-07-06 01:29:44 +02:00
memory.x feat: embassy-boot for rp2040 2022-12-02 11:28:33 +01:00
README.md feat: embassy-boot for rp2040 2022-12-02 11:28:33 +01:00

Examples using bootloader

Example for Raspberry Pi Pico demonstrating the bootloader. The example consists of application binaries, 'a' which waits for 5 seconds before flashing the 'b' binary, which blinks the LED.

NOTE: The 'b' binary does not mark the new binary as active, so if you reset the device, it will roll back to the 'a' binary before automatically updating it again.

Prerequisites

  • cargo-binutils
  • cargo-flash
  • embassy-boot-rp

Usage

# Flash bootloader
cargo flash --manifest-path ../../bootloader/rp/Cargo.toml --release --chip RP2040

# 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 RP2040