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

This Year In Embedded Rust 2022

adamgreig opened this issue · comments

In lieu of recent newsletter updates, let's collate updates from the year for an end-of-year post. Please add any suggestions as comments! See last year's post for inspiration.

notes from my side (will be edited and updated to not expand the issue too much):

Just my own stuff, but

  • Released catnip, a panic-never UDP/IP network stack (with some support for ARP and DHCP)
    • Steeper learning curve than smoltcp and does not provide a timer-based network interface, but can be used in panic-never applications
  • Built off of @thejpster 's tm4c123 launchpad board crate to build a board crate for the tm4c129 launchpad with some more application drivers & examples for ethernet and ADCs

Here is This Year in Knurling from all at Ferrous Systems. Many thanks to @Urhengulas for putting this together:

In 2022 the Knurling-rs project focused on configurability, polishing and teaching.

Early in the year, probe-run learned how to emit its output not just as human-readable and colourful text but also as machine-digestible JSON. There are also a few new possibilities to configure how probe-run interacts with the debugger (e.g. --verify, TERM=dumb, --disable-double-buffering). Finally, there has been a significant refactoring of the --measure-stack feature, which improved the speed by two orders of magnitude.

defmt switched to use the critical-section library to increase platform support. Also, #[derive(Format)] now accepts attribute fields which do not implement Format themselves.

For flip-link, the year has been relatively quiet. Still, the memory script parser learned how to do addition.

Apart from development, we premiered the "Knurling Summer of Code". Our version of trying to give back to the community and of helping newcomers get a handle on bare metal Rust. Our stipendiary Maria worked on a proof-of-concept of a network-stack-agnostic TFTP server.

Firstly we thank our sponsors who make it possible for us to work on our mission of making embedded Rust more accessible. Secondly, we thank our users for giving feedback, reporting bugs and contributing with a PR here and there.

commented

Also adding in my own stuff (I guess that's just what we're all most familiar with):

For using Rust on RIOT-OS, the friendly Operating System for the Internet of Things, this has been a good, eventful year: Early on, with its 2022.01 release, first Rust support and examples made it into the upstream code base. Rust got better, and so did the RIOT bindings: By the 2022.10 release, all tests and examples can be built with stable Rust 1.65.

The Neotron had been mentioned in Newsletter 20 back in 2019, and it has moved to its own org by now, added lots of stuff, including an RPi Pico based variant, and had talks earlier this year, e.g., at ACCU. Might be worth mentioning again:
https://neotron-compute.github.io/Neotron-Book/

@thejpster also here in the thread could maybe add a bit more :-)

Bouffalo Lab have started a PAC https://github.com/bouffalolab/bl808-pac.

Ferrous Systems wrote an open-source training course for Espressif based around the ESP32-C3-DevKitC-02, both in no_std mode and using libstd.

https://espressif-trainings.ferrous-systems.com/

The Neotron project received a $3,000 grant to produce a batch of Neotron Pico PCBs - a retro computing microATX board powered by an dual-core Arm (an RP2040) and with 256K RAM. The OS and BIOS are written in Rust. Using the funding, 23 self assembly kits were shipped out free of charge to beta programme members all across the globe.