This Embedded project was done as a part of ECE5042 course at VIT University to explore and learn the usage of Rust Lang on Embedded Platforms
- ROHITH BALAJI [20MES0038]
- AJITH KUMAR R [20MES0052]
- SHRUTI GHADGE [20MES0050]
- STM32F103 [Blue Pill] based on ARM Cortex M3
- ST-LINKv2 Clone
- SSD1306 OLED Display
- DHT-11
- Capacitive Soli Moisture Sensor
- OpenOCD - Open On Chip Debugger
- GDB - GNU General Debugger for arm-none-eabi
- telnet (Instead of GDB. You don't need this if you are using GDB)
- Install Rustup Toolchain from https://rustup.rs/
- Run
rustup --version
to verify installation - Run
rustup default nightly
to switch to nightly build of Rust - Verify Rust and Cargo with
rustc --version
andcargo --version
- Install OpenOCD ( Download, Extract and Add to PATH from https://github.com/xpack-dev-tools/openocd-xpack/releases )
- Install GDB ( Download, Extract and Add to PATH from https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads )
- Ensure ARM Target is added with
rustup target add thumbv7m-none-eabi
- Run
cargo build
for debug build andcargo build --release
for release build from the project root
- Open a terminal in the project root and run
openocd -f openocd.cfg
- Open another terminal in the project root and run
arm-none-eabi-gdb -x loader.gdb
. This will start a debug session.