This project is a test how far i can get in running an Embedded Soc, that was created during a university class, with rust only code.
Warning all of this is experimental in nature and not intendet for production use! But since this is a very custom SoC that was specific to a university course the is not really any chance for that.
To build embedded programs you'll need:
-
Rust 1.31, 1.30-beta, nightly-2018-09-13 or a newer toolchain. e.g.
rustup default beta -
The
cargo generatesubcommand. Installation instructions. -
rust-stdcomponents (pre-compiledcorecrate) for the ARM Cortex-M targets. Run:
$ rustup target add thumbv6m-none-eabi thumbv7m-none-eabi thumbv7em-none-eabi thumbv7em-none-eabihf-
openocdto be able to debug the code on the SoC and to be able to flash the final program for usage -
The arm-none-eabi toolchain in particlar the
arm-none-eabi-gdbfor debbuing
To comfortably test your code start the openocd server:
$ openocd -f openocd.cfgNow running cargo run will result in a gdb session being attached and the newly compiled code to be loaded.
This template is licensed under
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)