not-yet-awesome-embedded-rust
wg
not-yet-awesome-embedded-rust | wg | |
---|---|---|
5 | 12 | |
114 | 1,830 | |
0.0% | 0.9% | |
0.0 | 8.1 | |
over 1 year ago | 8 days ago | |
Creative Commons Attribution Share Alike 4.0 | - |
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.
not-yet-awesome-embedded-rust
-
Rust – Are We Game Yet?
And a list of things missing: https://github.com/rust-embedded/not-yet-awesome-embedded-ru...
-
Tips on switching careers from embedded C to Rust
Building a portfolio is a great idea. Also you can find various areas to contribute to Rust. That would give you great exposure. Check out the not yet awesome rust repo (https://github.com/rust-embedded/not-yet-awesome-embedded-rust) for ideas. Also take a look at the rust foundation grant program, it’s open for applications now. There’s also the “this week in Rust” newsletter (https://this-week-in-rust.org) where job openings relative to Rust are also listed. Lastly, you can check my bio for a link where I provide a list of project ideas for different areas in embedded including Rust.
-
James Web Space Telescope runs on C++ code.
See Not Yet Awesome Embedded Rust for some ongoing work to build out the ecosystem, it's not ready yet. (this is a play on various "Awesome XYZ Rust" lists that have resources for different topics)
-
What libraries do you miss from other languages?
Not Yet Awesome Embedded Rust
-
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.
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.
What are some alternatives?
not-yet-awesome-rust - A curated list of Rust code and resources that do NOT exist yet, but would be beneficial to the Rust community.
rust-semverver - Automatic checking for semantic versioning in library crates
tlaplus - TLC is a model checker for specifications written in TLA+. The TLA+Toolbox is an IDE for TLA+.
pico-examples
ceres-solver - A large scale non-linear optimization library
flip-link - Adds zero-cost stack overflow protection to your embedded programs
fantoccini - A high-level API for programmatically interacting with web pages through WebDriver.
erdtree - A modern, cross-platform, multi-threaded, and general purpose filesystem and disk-usage utility that is aware of .gitignore and hidden file rules.
sea-query - 🔱 A dynamic SQL query builder for MySQL, Postgres and SQLite
TX-2-simulator - Simulator for the pioneering TX-2 computer
Ink - 🌈 React for interactive command-line apps
felix - 🐱 Experimental operating system written in Rust