Skip to content

Rust implementation of RIOT's riotboot bootloader

Notifications You must be signed in to change notification settings

fjmolinas/riotboot-rs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

riotboot-rs

An implementation of RIOT's bootloader in Rust and Hacspec. It works as a drop-in replacement for RIOT's riotboot bootloader, albeit with reduced features (no serial, no dfu, ...).

Status

Both the pure Rust and the Hacspec implementation have been tested on nrf52840dk.

Prerequisites

  • Install rust

  • Install the rust-std component for your target, in this case:

    $ rustup target add thumbv7em-none-eabi

How to build

riotboot-rs supports both pure Rust and a Hacspec built. Choose by using one of the features "internal" or "verified". Beware, the non-release build might be too large to fit in the bootloader area as specified in memory.x.

$ cargo build --release --target thumbv7em-none-eabi --features verified

How to flash

The resuling binary can be flashed with the included flash.sh:

$ sh flash.sh target/thumbv7em-none-eabi/release/riotboot-rs

How to use with other boards

The actual source code should work as is on every Cortex-M MCU. The memory map (memory.x) might need adjustment, as does the flash script.

About

Rust implementation of RIOT's riotboot bootloader

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 93.6%
  • Shell 6.4%