wg
flip-link
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
wg
-
Embedded Rust Education: 2023 Reflections & 2024 Visions
Inspired by James Munns's call, and as 2023 is coming to an end, I figure it's a good opportunity to reflect and look forward to 2024. It's been a bit over 1.5 years since I embarked on my embedded Rust journey and it's been nothing less than exciting since. So here it goes.
-
In search of Rust projects to contribute
Because you are an embedded guy. There is the https://github.com/rust-embedded/wg working-group. Rust on embedded is really on a got track forward. There are many chips/vendors that are supported both in no std / std rust world, but still there is a lot of niche things where you can actively help to be the first to get it run in Rust.
-
Rust – Are We Game Yet?
To specifically answer your question, here:
* <http://www.areweembeddedyet.com/>
It currently redirects to:
* <https://rust-embedded.org>
Which doesn't really contain anything other than a link to <https://github.com/rust-embedded>.
(via <https://github.com/rust-embedded/wg/issues/15>)
-
Google announce secure Rust-based OS for embedded system
Then the Rust Embedded workgroup provides: - Direction on how to using generics and zero-sized types to achieve functional safety - svd2rust, which provides safe abstractions to peripheral access from SVD files and achieves this functional safety - The embedded HAL spec, which makes porting to different vendors/hardware easy - Peripheral access controllers and HALs for various vendors & hardware
-
What are your guys' thoughts on Rust?
The Rust Embedded Devices Working Group curates a list of useful embedded Rust resources, including Peripheral Access Crates (autogenerated from SVD files), embedded-hal Implementation Crates (hand-written libraries implementing the traits (interfaces) specified by the embedded-hal), and Board Support Crates.
-
Question about Rust's binary size
You should also look at https://github.com/rust-embedded/wg/issues/41 and https://github.com/rust-lang/rust/pull/55011#issuecomment-429336055.
-
Things you can’t do in Rust (and what to do instead)
Here's an interesting discussion, consolidated here. My view is you should use a restricted scope atomic (as best as can be supported) and interact with that through a handler struct. I.e. no global state.
- Semantic Versioning Will Not Save You
- Is there a embedded community/website where it is modern?
-
Would it be possible to run Rust on the new Raspberry Pi Pico?
Most of the issues are explained in EWG RFC 419. The TL;DR is that some resources need to implement Send to be usable from interrupts, but they must not be sent across cores.
flip-link
- Measuring Stack Usage the Hard Way
-
Discussion Thread
Don't worry, it can be fixed by rewriting your linker in rust.
-
What are your guys' thoughts on Rust?
Stack overflows: https://github.com/knurling-rs/flip-link C bindings in Rust require unsafe blocks because C code is just that, unsafe.
What are some alternatives?
rust-semverver - Automatic checking for semantic versioning in library crates
defmt - Efficient, deferred formatting for logging on embedded systems
pico-examples
awesome-embedded-rust - Curated list of resources for Embedded and Low-level development in the Rust programming language
erdtree - A modern, cross-platform, multi-threaded, and general purpose filesystem and disk-usage utility that is aware of .gitignore and hidden file rules.
app-template - Quickly set up a `probe-rs` + `defmt` + `flip-link` embedded project
not-yet-awesome-embedded-rust - A collection of items that are not yet awesome in Embedded Rust
stm32f7xx-hal - A Rust embedded-hal HAL for all MCUs in the STM32 F7 family
TX-2-simulator - Simulator for the pioneering TX-2 computer
factorio-cheat-sheet - Cheat Sheet for Factorio
felix - 🐱 Experimental operating system written in Rust
rust-raspberrypi-OS-tutorials - :books: Learn to write an embedded OS in Rust :crab: