Note that there is still plenty of work to be done in LLVM, Rust, and the ecosystem.
For example, function pointers accessed in global variables have the incorrect relocation applied. This notably affects the ability to use futures executors.
However, a lot of things do work, and we are always looking for more people to contribute!
What does this mean for someone who is quite familiar with AVR but new to Rust? How much of what I can normally achieve in my AVR projects can now be done under Rust?
In theory, Rust can completely replace C for AVR development. Based on what shepmaster said, certain Rust features may not work yet. I'm also a Rust newbie. This article is a great intro to Rust for microcontrollers (but it's for ARM Cortex): https://interrupt.memfault.com/blog/zero-to-main-rust-1
5 comments
[ 2.5 ms ] story [ 20.2 ms ] threadFor example, function pointers accessed in global variables have the incorrect relocation applied. This notably affects the ability to use futures executors.
However, a lot of things do work, and we are always looking for more people to contribute!
Check out https://book.avr-rust.com/ for more.
https://en.wikipedia.org/wiki/AVR_microcontrollers
The Arduino tooling left a bit to be desired, and we don't want to re-write when we move from prototype to production.
I'm sure I'll make mistakes which means I'll have to re-write a ton, but at least this is starting to get me part-way to a good working environnment.