The Agile Embedded Podcast

Exploring Rust for Embedded Systems with Philip Markgraf

Episode Summary

In this episode of the Agile Embedded Podcast, hosts Jeff Gable and Luca Ingianni welcome back Philip Markgraf, an experienced software developer and technical leader, to delve into the use of Rust for embedded systems. Philip shares his journey from using C and C++ to adopting Rust, describing the challenges and benefits he encountered along the way. The discussion covers Rust's advanced type system, memory safety, compile-time guarantees, and how these features contribute to more reliable and maintainable code. The episode offers insights into the current state of Rust in embedded development, its advantages over traditional languages like C and C++, and its growing adoption in the industry. The trio also explores the impact of Rust on team collaboration, test-driven development, and potential use cases. Join us to understand why Rust might be the right choice for your next embedded project.

Episode Notes

Exploring Rust for Embedded Systems with Philip Markgraf

In this episode of the Agile Embedded Podcast, hosts Jeff Gable and Luca Ingianni are joined by Philip Markgraf, an experienced software developer and technical leader, to discuss the use of Rust in embedded systems. Philip shares his background in C/C++ development, his journey with Rust, and the advantages he discovered while using it in a large development project. The conversation touches on memory safety, efficient resource management, the benefits of Rust's type system, and the supportive Rust community. They also explore the practical considerations for adopting Rust, including its tooling, ecosystem, and applicability to Agile development. The episode concludes with Philip offering resources for learning Rust and connecting with its community.

00:00 Introduction and Guest Welcome
00:26 Philip's Journey with Rust
01:01 The Evolution of Programming Languages
02:27 Evaluating Programming Languages for Embedded Systems
06:13 Adopting Rust for a Green Energy Project
08:57 Benefits of Using Rust
11:24 Rust's Memory Management and Borrow Checker
15:50 Comparing Rust and C/C++
19:32 Industry Trends and Future of Rust
22:30 Rust in Cloud Computing and Embedded Systems
23:11 Vendor-Supplied Driver Support and ARM Processors
24:09 Open Source Hardware Abstraction Libraries
25:52 Advantages of Rust's Memory Model
29:32 Test-Driven Development in Rust
30:35 Refactoring and Tooling in Rust
31:14 Simplicity and Coding Standards in Rust
32:14 Error Messages and Linting Tools
33:32 Sustainable Pace and Developer Satisfaction
36:15 Adoption and Transition to Rust
39:37 Hiring Rust Developers
42:23 Conclusion and Resources

Resources

Phil's Linkedin

The Rust Language
Rust chat rooms (at the Awesome Embedded Rust Resources List)

The Ferrocene functional-safety qualified Rust compiler