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