rust-embedded / blog

The Rust Embedded WG Blog

Home Page:http://blog.rust-embedded.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Next Newsletter - Content for the content gods

jacobrosenthal opened this issue · comments

Intermediate Embedded Rust Or How to make sure Embedded Rust works for you

The embedded rust matrix channel is the go to spot.
https://matrix.to/#/#rust-embedded:matrix.org

Make sure to join our weekly meetings on Matrix. We use these meetings as a faster, synchronous alternative to the RFC threads on GitHub. The agenda is posted in the issue tracker of this repository in advance to the meeting. Everyone is free to join the meeting and share their thoughts. You can also nominate an existing GH thread for discussion if you think it would benefit from a more synchronous discussion.

You probably already follow your favorite hal, but did you know threres even more active channels for different hals
samX https://matrix.to/#/#atsamd-rs:matrix.org
stm https://matrix.to/#/#stm32-rs:matrix.org
nrf https://matrix.to/#/#nrf-rs:matrix.org

and active projects?
https://matrix.to/#/#rust-embedded-graphics:matrix.org
https://matrix.to/#/#rtic:matrix.org
https://matrix.to/#/#probe-rs:matrix.org

If you've been keeping up so far, its time to dig deeper

The intrinsics for each architecture are at stdarch and you want to subscribe to that most likely and keep watch on your architecture
https://github.com/rust-lang/stdarch
https://github.com/rust-lang/compiler-builtins

Are your libc and libm working for you? Get involved!
https://github.com/rust-lang/libc
https://github.com/rust-lang/libm/

The low level embedded stuff
https://github.com/rust-embedded/bare-metal
https://github.com/rust-embedded/r0

your arch
https://github.com/rust-embedded/cortex-m
https://github.com/rust-embedded/cortex-a
https://github.com/rust-embedded/riscv
etc

your runtime for your arch
https://github.com/rust-embedded/riscv-rt
https://github.com/rust-embedded/cortex-m-rt
https://github.com/rust-embedded/msp430-rt
etc

Im skipping links for brevity, but putting a watch on your favorite stack is going to keep your code running and the ecosystem healthy

Watching rustlang repo is lot harder because of the volume.

If you do a lot of embedded work on a specific architecture you might want to bookmark that label and visit occasionally to see what bugs are being sorted in and solutions being proposed
just to name a few
https://github.com/rust-lang/rust/labels/O-ARM
https://github.com/rust-lang/rust/labels/O-AVR
https://github.com/rust-lang/rust/labels/O-riscv

Rust is designed and maintained through RFCs
"Some changes though are "substantial", and we ask that these be put through a bit of a design process and produce a consensus among the Rust community and the sub-teams.
The "RFC" (request for comments) process is intended to provide a consistent and controlled path for new features to enter the language and standard libraries, so that all stakeholders can be confident about the direction the language is evolving in."

PRE rfcs are posted on internals, setting up mailing list mode or a summary is a good idea to keep an eye on the future of rust
https://internals.rust-lang.org/

RFCs are PR'ed and discussed at https://github.com/rust-lang/rfcs, so watching for upcoming change ideas is a probably a good idea. Those will link to any implementation thats ongoing. Thers a rust custom tool called rfcbot that has a list of active rfcs under discussion otherwise. https://rfcbot.rs/

Going deeper yet:
The zulip is where the rust lang/compiler team meetings and discussions happen
https://rust-lang.zulipchat.com/

Thanks for the write-up @jacobrosenthal. However, this would need to be merged with the newsletter template.
Could you have a try at that and then send this as a PR? That would make the changes more concrete.