Skip to content

This is a repo for enablingen using rust for an embedded soc, used at the university of heidelbergs embedded systems course.

Notifications You must be signed in to change notification settings

ju6ge/hd_embedded_rust

Repository files navigation

HD Embedded SoC, Rust environment

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.

Dependencies

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 generate subcommand. Installation instructions.

  • rust-std components (pre-compiled core crate) for the ARM Cortex-M targets. Run:

$ rustup target add thumbv6m-none-eabi thumbv7m-none-eabi thumbv7em-none-eabi thumbv7em-none-eabihf
  • openocd to 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-gdb for debbuing

Building and Debugging

To comfortably test your code start the openocd server:

$ openocd -f openocd.cfg

Now running cargo run will result in a gdb session being attached and the newly compiled code to be loaded.

License

This template is licensed under

About

This is a repo for enablingen using rust for an embedded soc, used at the university of heidelbergs embedded systems course.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published