This is a small simulator designed to exercise the mcuboot upgrade code, specifically testing untimely reset scenarios to make sure the code is robust.
The simulator is written in Rust, and you will need to install it to build it. The installation page describes this process. The simulator can be built with the stable release of Rust.
The simulator depends on some external modules. These are stored as submodules within git. To fetch these dependencies the first time:
$ git submodule update --init
will clone and check out these trees in the appropriate place.
Once Rust is installed, build cargo by:
$ cargo build --release
this should download and compile the necessary dependencies, compile
the relevant modules from mcuboot, and build the simulator. The
resulting executable will be placed in ./target/release/bootsim
and can be run directly:
$ ./target/release/bootsim run --device k64f
Calling with --help will give a more thorough usage.
If the simulator indicates a failure, you can turn on additional
logging by setting RUST_LOG=warn or RUST_LOG=error in the
environment:
$ RUST_LOG=warn ./target/release/bootsim run ...