From 1eacd4683d34d589b8ef6fd7600154419c5978da Mon Sep 17 00:00:00 2001 From: Erin Abicht Date: Mon, 17 Apr 2023 21:23:53 -0400 Subject: [PATCH] Add no-std & learning info --- src/development/README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/development/README.md b/src/development/README.md index dba137a..d65bf5c 100644 --- a/src/development/README.md +++ b/src/development/README.md @@ -32,3 +32,15 @@ All of the source code for **Mercury** is on a self-hosted [Gitea](https://git.l Sign up there, and contact one of the maintainers to get access to the repositories. The source for this site, and our [website](https://mercury.the-system.eu.org) is available there as well. + +### Design +All `crates`/`libraries` are in a `no-std` environment. This means we only have access to the [libcore](https://doc.rust-lang.org/core/) functionality. +However, we will be using the `alloc` crate to access the heap, and`collections` to have access to data structures like `Vec`. + +## Learning +Before jumping in, I highly recommend learning some stuff abotu **Rust** and embedded developmend with it. +A thorough series of steps might be: +1. Read through the [Rust Book](https://doc.rust-lang.org/book/) +2. Work through the [Interactive Rust Book](https://rust-book.cs.brown.edu/) +3. Complete the [rustlings](https://github.com/rust-lang/rustlings) exercises +4. Take a quick look through the [Embedded Rust Book](https://docs.rust-embedded.org/book/intro/index.html)