mcuboot/sim
David Brown e380fa6e30 sim: Set version numbers in images
To make the images easier to identify during analysis, set the version
number.  The major number tries to be set to the slot number, and the
build number is the byte offset.
2017-01-23 16:01:02 -07:00
..
csupport sim: Be consistent about flash alignment 2017-01-23 16:01:01 -07:00
src sim: Set version numbers in images 2017-01-23 16:01:02 -07:00
.gitignore sim: Add simulator code 2017-01-09 12:28:10 -07:00
Cargo.lock sim: Use logging to control output 2017-01-09 12:28:10 -07:00
Cargo.toml sim: Use logging to control output 2017-01-09 12:28:10 -07:00
README.rst sim: Create a small README.rst 2017-01-09 12:28:11 -07:00
build.rs sim: Fix build paths for new directory layout 2017-01-10 16:45:05 -07:00

README.rst

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

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 ...