The latest version of my OS for ATmega AVRs, AVRoxide, is now available - with drivers for storage and graphics devices.
AVRoxide Release 0.4.0
The latest version of my OS for ATmega AVRs, AVRoxide, is now available - with drivers for storage and graphics devices.
As I’ve written before, more than a year ago Rust on AVR went into the weeds because of bugs in LLVM.
I made a workaround, but it was far from ideal - and if it’s been frustrating for me, I’m sure it’s been a complete barrier to many even getting started with AVR on Rust.
Anyway, all that has now changed, thanks to Patryk27,
who has managed to merge the necessary patches into the Rust master, so now
the regular Rust nightly toolchain builds for AVR again. Hurrah, and the
inaugural (and possibly ultimate) ‘Hero of the Week’ award goes to Patryk :-).
A new release of AVRoxide, my OS for ATmega AVRs, is out - now with multithreading!
There are subtle differences between the way interrupts are handled on different AVR microcontrollers. I didn’t see this written in plain English anywhere, so I’ll have a go.
It’s been quite a few months’ work, with many challenges along the way - but finally I’m pleased to announce that I have a working runtime for writing applications in Rust for the ATmega4809 microcontroller (and thus also for the Arduino Nano Every.)
rustc Generate Working Optimised Code for ATmega4809
Until I discovered this trick, I couldn’t build working ATmega4809 Rust code with anything other than optimisation level 1…
Code insight/code completion in CLion doesn’t work when you use a custom target.json - here’s how to fix it
(Updated 2021/12/24) Finding any debugging tools for the ATmega4809 is a massive chore. Finally, I’ve found one option that at least partially works.
How to get on with Rust development for AVR without being held up by a 9 month old bug
A Rust runtime for AVR development