Manning giveaway: 5 copies of Embedded Software with Rust — what confused you most when Rust left the desktop?
Hi r/learnrust,
I’m posting on behalf of Manning Publications, with the mods’ permission.
We just released Embedded Software with Rust by Dr David Cabanis, and we’re giving away 5 ebook copies in this thread.
Book page:
https://www.manning.com/books/embedded-software-with-rust
The question I’d love to ask this community is:
What was the first Rust concept that made sense in a normal project, then became confusing again when you imagined it running on a microcontroller?
For a lot of people, embedded Rust is where the language stops being abstract. Ownership is no longer just about avoiding memory bugs in an app. It becomes a way to say: this timer belongs to one part of the program. This GPIO pin has been configured into this mode. This interrupt handler and the main loop cannot casually mutate the same state.
That’s the heart of this book.
Embedded Software with Rust is a practical guide to writing bare-metal firmware with Rust. It starts from the basics of embedded Rust setup and builds toward the parts that usually make people reach for scattered blog posts: no_std, linker scripts, startup code, vector tables, interrupts, memory-mapped I/O, PACs, HALs, BSPs, debugging, emulation, and safe sharing between main code and interrupt handlers.
A few topics covered:
- setting up an embedded Rust toolchain
- building and inspecting
no_stdbinaries - what happens from reset to
main - Cortex-M startup code and vector tables
- linker scripts,
memory.x,.data,.bss, stack placement, and memory layout - interrupts and safe data sharing
- PACs, HALs, BSPs, and
embedded-hal - flashing and debugging with OpenOCD, probe-rs, GDB, QEMU, and cargo-binutils
- Rust/C integration for existing firmware codebases
The book is written for people who know basic Rust and want to understand how Rust behaves when there’s no operating system underneath it. It should also be useful if you come from embedded C/C++ and want to see what Rust changes in firmware design.
Dr David Cabanis is Principal Engineer at Doulos, with deep experience in Arm embedded software, FPGA and SoC design, and system-level modeling. The book focuses mainly on Cortex-M, with selected RISC-V examples that help explain the ideas.
Giveaway
We’ll give 5 ebook copies to the top 5 commenters in this thread.
To enter, comment with one of these:
- the embedded Rust topic that confuses you most
- the microcontroller or board you’d like to try Rust on
- a Rust concept that finally clicked for you
- a firmware bug you wish the compiler had caught
- what you’d build first if the embedded setup were already done
For anyone who wants the book now, Manning has also made a 50% discount code for this community:
MLCABANIS50RE
I’ll be around in the comments, and I can bring the author to answer questions. I’m especially curious how many people here have tried no_std already, and how many are still waiting for the right project to make the jump.
Thanks for having us.
Cheers,
Stjepan