53 lines
1.4 KiB
ReStructuredText
53 lines
1.4 KiB
ReStructuredText
MCUboot Simulator
|
|
#################
|
|
|
|
This is a small simulator designed to exercise the mcuboot upgrade
|
|
code, specifically testing untimely reset scenarios to make sure the
|
|
code is robust.
|
|
|
|
Prerequisites
|
|
=============
|
|
|
|
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.
|
|
|
|
.. _Rust: https://www.rust-lang.org/
|
|
|
|
.. _installation: https://www.rust-lang.org/en-US/install.html
|
|
|
|
Dependent code
|
|
--------------
|
|
|
|
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.
|
|
|
|
Building
|
|
========
|
|
|
|
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.
|
|
|
|
Debugging
|
|
=========
|
|
|
|
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 ...
|