Our great sponsors
-
awesome-embedded-rust
Curated list of resources for Embedded and Low-level development in the Rust programming language
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Don't quote me on this, but I do not think that rust will be required to build the kernel for at least a while - their docs specify make LLVM=1 rustavailable, which makes me think that by default it will be built without it. At this time, I think the main focus for now is allowing kernel drivers to be written in Rust (interfacing via provided abstractions over provided bindings), which should be possible without needing the entire kernel to be built with rust enabled. (link to the RFL docks directory if you're interested)
Vendor support isn’t there (though it does seem like it’s starting), but community support is already pretty huge - and seemingly more cohesive then anything similar I’ve seen for C. There are PACs (these are autogenerated from SVD files with svd2rust) and HALs (these are hand written to provide abstractions over the PACs). https://github.com/rust-embedded/awesome-embedded-rust
Here is the basic template for writing a KM in rust, the basics are simple: https://github.com/Rust-for-Linux/rust-out-of-tree-module
For the record, I'm converging on the above-mentioned approach of passing "we're in a thread" -- with an extra of #[fundamental] on that type for documentation purposes to make it more visible in the documentation.