Embedded

From Rust Community Wiki

Rust supports a lot of processors other than x86 and ARM, and can be used to program embedded controllers for automobiles and IoT devices.

Customize std

Xargo

Xargo builds and manages "sysroots" (cf. rustc --print sysroot). Making it easy to cross compile Rust crates for targets that don't have binary releases of the standard crates, like the thumbv*m-none-eabi* targets. And it also lets you build a customized std crate, e.g. compiled with -C panic=abort, for your target.
Xargo is now in maintenance mode.[1] Work is in progress to incorporate its features into Cargo.

Cargo

The customize std feature of Cargo is under active development in the std-aware Cargo working group. The experimental implementation is in nightly under the flag -Z build-std .[2]

Books

Crates

The crates.io has No standard library and Embedded development categories.

Crates for low level data manipulation
Crate Maintained by Description
Cargo vec.svgbitvec 1.0.1 myrrlyn A crate for manipulating memory, bit by bit.
Cargo vec.svgbyteorder 1.4.3 Andrew Gallant Convenience methods for encoding and decoding numbers in big-endian or little-endian order.
Cargo vec.svgmemchr 2.6.4 Andrew Gallant et al. Heavily optimized routines for searching bytes.
Crates for maintaining no_std crates
Crate Maintained by Description
Cargo vec.svgno-std-compat 0.4.1 jD91mZM2 A compatibility layer to ease porting crates to no_std.
Cargo vec.svgautocfg 0.1.8 Josh Stone Automatically configure code based on compiler support in build scripts.
Cargo vec.svgcargo-bloat 0.11.1 Evgeniy Reizner Find out what takes most of the space in your executable.
Popular no_std crates
Crate Maintained by Description
Cargo vec.svgdashmap 5.5.3 Acrimon Performant concurrent associative array/hashmap.
Cargo vec.svgsmallvec 1.11.1 Simon Sapin Vec which stores up to a small number of items on the stack.
Cargo vec.svgtime 0.3.29 Jacob Pratt Simple time handling.

See Also

References

  1. PSA: Xargo is now in maintenance mode japaric/xargo/issues/193
  2. Unstable Features, The Cargo Book, https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#build-std.