Rust for C Programmers
If you plan to attend and work through the hands-on materials, we recommend that you set up the following tools prior to the class:
1) Visit https://rustup.rs/ and follow the instructions to install Rust
2) Visit https://docs.rust-embedded.
- itmdump
- cargo-binutils
- arm-none-eabi-gdb
- OpenOCD
The C programming language has been a staple of embedded software development for 50 years. Many languages like Ada, C++, and others have attempted to usurp it, only to fail. Rust is a memory-safe systems programming language that has been gaining interest across a wide variety of industries. This workshop will introduce the Rust programming language for experienced C programmers.
The focus will be on highlighting the similarities and differences between the two languages, with an emphasis on showing how Rust can provide improved memory safety and performance without sacrificing the low-level control that C programmers are accustomed to. Attendees will learn the basics of Rust's syntax and standard library, as well as best practices for writing safe and efficient code in Rust. By the end of the workshop, participants will have a solid understanding of Rust and will be able to start using it in their own projects.
Example topics covered in this workshop include:
- Similarities and differences between C and Rust
- An introduction to the Rust toolchain
- Memory mapped I/O
- How to utilize peripheral access crate (PAC) and HAL crate
- Best practices for developing embedded applications in Rust
Examples and code walk throughs will use the STM32F3 Discovery board









Thanks for presenting this session. I was able to get to the point where I have some code running on the STM32F3 discovery board, and so am now up and running with Rust!
I'd agree with your reflection that for future sessions it would be better to have a Docker container with all the tools loaded. I'm a big fan of vscode & docker containers for development environments.