Skip to content
Demo application for Oxidize conference talk "Rust Anywhere"
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
crates
device
simulator
.gitignore
.gitmodules
Embedded Rust Anywhere.key
Embedded Rust Anywhere.pdf
LICENSE
README.md

README.md

Embedded Rust Anywhere

Getting Started

** Always make sure your submodules are up to date:

git submodule update --init --recursive
  1. Install the latest version of the Xcode development environment from the macOS App Store.

  2. Install Rust according to the official instructions.

curl https://sh.rustup.rs -sSf | sh
  1. Add Rust to your PATH environment variable.
source $HOME/.cargo/env
  1. Install the toolchain for the embedded target:
rustup target install thumbv7em-none-eabihf
  1. Install ARM cross-compiler toolchain
brew tap ArmMbed/homebrew-formulae
brew install arm-none-eabi-gcc
  1. Install the ST-LINK utilities
brew install stlink

Simulator

  1. Open the Xcode project simulator/RustAnywhere.xcodeproj
  2. Choose the menu item Product -> Run

Debugging

Install the Rust plugin for Xcode to easily enable breakpoints in Rust files: https://github.com/mtak-/rust-xcode-plugin

Device

Build

From the device subdirectory, run make.

Deploy & Debug

  1. In another terminal window, run st-util. You must leave this running to deploy and debug your code using gdb
  2. Run GDB with the ELF binary:
arm-none-eabi-gdb build/bin/rust-anywhere.elf
  1. From the GDB prompt, connect to the remote target
tar ext :4242
  1. Load the binary and start execution:
load
continue
You can’t perform that action at this time.