Writing Microcontroller Drivers in Rust
CEC Archives | CEC Semester Twenty Six 2024 | Writing Microcontroller Drivers in Rust
This session will explore why Rust makes sense for embedded systems. We’ll explore where C, C++, and Rust each fit. Attendees will then learn what features of Rust make it an ideal candidate for embedded systems development. We will discuss the Rust toolchain and prepare attendees to write their own Rust code.
This session will explore using the svd2rust tool to generate a Peripheral Access Crate (PAC) for any Arm Cortex-M microcontroller. Attendees will learn how to use the tool and configure their own driver library for use in Rust.
This session will examine the PACs at a deeper level, examining the techniques used to create them. Attendees will learn about Rust techniques that they can use to improve their own code or write their own custom drivers.
This session will guide developers through creating a Rust application using the Cortex-M QuickStart template. Attendees will learn how to import their PAC and configure an embedded target.
This session will teach attendees how to write a “Hello Blinky” and “Hello World!” application. Attendees will use the PAC they created to blink an LED and print “Hello World!” to the terminal.

Jacob Beningo is an embedded software consultant who currently works with clients in more than a dozen countries to dramatically transform their businesses by improving product quality, cost and time to market. He has published more than 300 articles on embedded software development techniques, has published several books, is a sought-after speaker and technical trainer and holds three degrees which include a Masters of Engineering from the University of Michigan.