AVR simulator made in Rust and C++
Core library is in Rust and will expose an API for GUI in C++ (QT).
This simulator aims to be suited for performance analysis.
From a terminal, you can clone the repo with
git clone --recurse-submodules https://github.com/mlafroce/avr-avogadro.git
This will download QHexEdit2 as a dependency.
If you choose "Download as a zip", copy QHexEdit2 sources into qt-gui/3rd-party/qhexedit2
Currently only linux target is supported. To build from sources you need
-
Rust toolchain (includes rustc and cargo)
-
GCC toolchain (g++ needed for GUI)
-
CMake (>= 3.9) (Cargo build instructions use cmake to build GUI)
To get Rust last version, download Rust compiler following instructions on their site.
Install GCC and Qt5 with the following commands
sudo apt install build-essential cmake qt5-default
Compile with cargo build
Rust's package manager will download and build dependencies.
Run cargo run
to run the application.
Run cargo test
to build and run unit tests.
Clippy is used as Rust linter. Install and run with
rustup component add clippy
cargo clippy
Small avr examples are in examples
folder.
You can compile them running make
or manually using avr-gcc
.
Install with
sudo apt install gcc-avr
This project is licensed under the MIT License, see the LICENSE.md in the repository for details
Thanks to Luciano Rabassa for his contributions as a Beta tester.
Thanks to @Simsys for his awesome HexEditor Widget!