ManningBooks

ManningBooks

Devtalk Sponsor

Embedded Software with Rust (Manning)

Embedded Software with Rust is a practical introduction to building firmware that is fast, efficient, and far safer than traditional embedded software written in C or C++. Rust gives developers the low-level control embedded systems demand, but adds modern guarantees around memory safety, data races, and error handling. In a field where a single bug can cause crashes, security flaws, or costly field failures, those guarantees are a major advantage.

David Cabanis

Embedded firmware has always demanded close control over hardware: memory-mapped registers, interrupts, linker scripts, startup code, timing, and strict resource limits. Traditionally, that has meant C or C++, along with all the familiar risks around pointer misuse, undefined behavior, data races, and fragile error handling.

Rust offers another path. It gives embedded developers low-level control while adding compile-time checks for memory safety, ownership, borrowing, and concurrency. For firmware running in consumer devices, industrial systems, vehicles, medical equipment, robotics, and edge platforms, those guarantees matter.

Embedded Software with Rust is a practical guide to building bare-metal firmware in Rust. It starts with the foundations and moves steadily toward working hardware-focused development, showing how Rust’s language features connect directly to embedded tasks.

Inside the book, you’ll learn how to:

  • Set up an embedded Rust development environment

  • Build and inspect firmware with Cargo, cargo-binutils, GNU tools, OpenOCD, probe-rs, and QEMU

  • Configure no_std projects for bare-metal execution

  • Understand the reset-to-main() path on Cortex-M systems

  • Define memory layouts with linker scripts and memory.x

  • Work with startup code, vector tables, exceptions, and interrupts

  • Share data safely between main code and interrupt handlers

  • Use PACs, HALs, BSPs, and embedded-hal traits

  • Manage memory in constrained systems

  • Interoperate with C as part of a migration path

The book is hands-on throughout. Early chapters walk through toolchain setup, project structure, no_std configuration, linker scripts, and minimal startup. Later chapters expand into memory-mapped I/O, debugging, profiling, stack and heap management, async and RTOS compatibility, performance tuning, and Rust-C integration.

A big strength of the book is that it explains what is happening underneath the abstractions. You won’t only use cortex-m-rt, embedded-hal, or a board support crate; you’ll also see how the reset handler, vector table, .data copying, .bss zeroing, panic behavior, and interrupt dispatch actually fit together.

The book is written for software engineers with basic Rust knowledge. Prior embedded experience helps, but the text introduces the needed background step by step. Experienced firmware engineers coming from C or C++ will also find plenty of familiar ground, especially around build/debug workflows, hardware registers, linker configuration, and interrupt-driven design.

About the author: Dr David Cabanis is Principal Engineer at Doulos, specializing in Arm embedded software, FPGA and SoC design, and system-level modeling. He is an ARM Accredited Engineer, MCU Engineer, and former ARM Certified Trainer, with deep practical experience in embedded Rust.


Don’t forget you can get 45% off with your Devtalk discount! Just use the coupon code “devtalk.com” at checkout :+1:

Where Next?

Popular Backend topics Top

PragmaticBookshelf
Property-based testing helps you create better, more solid tests with little code. Use the PropEr framework in both Erlang and Elixir, to...
New
PragmaticBookshelf
Adoption is more than programming. To successfully take your application from start to finish, you’re going to need to know more than jus...
New
PragmaticBookshelf
You want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) and functional prog...
New
PragmaticBookshelf
TDD is a modern programming practice that all C developers need to know. It’s a different way to program—unit tests are written in a tigh...
New
PragmaticBookshelf
It's easier to learn how to program a computer than it has ever been before. Now everyone can learn to write programs for themselves—no p...
New
PragmaticBookshelf
Build highly interactive applications without ever leaving Elixir, the way the experts do. Let LiveView take care of performance, scalabi...
New
PragmaticBookshelf
Build a working binary clock using Elixir, Nerves, and OTP. Control complexity in your projects using a layered approach to software desi...
New
PragmaticBookshelf
Build modern server-driven web applications using htmx. Whatever programming language you use, you’ll write less (and cleaner) code. ...
New
PragmaticBookshelf
Hone your Clojure skills and validate your understanding as you explore the design decisions behind this data-driven functional programmi...
New
PragmaticBookshelf
Fight complexity and reclaim the original spirit of agility by learning to simplify how you develop software. The result: a more humane a...
New

Other popular topics Top

AstonJ
There’s a whole world of custom keycaps out there that I didn’t know existed! Check out all of our Keycaps threads here: https://forum....
New
New
PragmaticBookshelf
Tailwind CSS is an exciting new CSS framework that allows you to design your site by composing simple utility classes to create complex e...
New
Margaret
Hello everyone! This thread is to tell you about what authors from The Pragmatic Bookshelf are writing on Medium.
1147 29994 760
New
New
PragmaticBookshelf
Programming Ruby is the most complete book on Ruby, covering both the language itself and the standard library as well as commonly used t...
New
New
PragmaticBookshelf
Explore the power of Ash Framework by modeling and building the domain for a real-world web application. Rebecca Le @sevenseacat and ...
New
PragmaticBookshelf
A concise guide to MySQL 9 database administration, covering fundamental concepts, techniques, and best practices. Neil Smyth MySQL...
New
CommunityNews
Open-source implementation of the classic GTA engine now running directly in your browser. Experience the reVC technology demo on DOS.Zon...
New