We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Introduction to Rust programming on bare metal hardware by Mike Kefeder - Rust Zürisee March 2023
Discover the world of Rust programming on bare metal hardware, from microcontrollers to concurrent code, with an introduction to libraries, debugging, and build tools.
- The speaker introduces the topic of bare metal programming with Rust and its potential applications on microcontrollers.
- He uses the Raspberry Pi Pico as an example of a microcontroller that can be programmed in Rust.
-
Rust provides a safe way to access hardware without using C’s
malloc
andfree
functions. -
The speaker uses the
HAL
(Hardware Abstraction Layer) andPAC
(Peripheral Access Crate) libraries to interact with the hardware. - He explains that Rust’s ownership system and borrow checker can help prevent common errors in embedded programming.
- The speaker discusses the importance of a BSP (Board Support Package) and how it provides a abstraction layer between the hardware and the software.
- He explains that the BSP can provide further abstractions to make it easier to access complex hardware.
-
The speaker introduces the
ARTIK
library, which provides a way to interact with the hardware and perform tasks such as flashing and debugging. -
He explains that the
ARTIK
library is designed to be used with thePAC
library and provides a way to create a safe and efficient way to interact with the hardware. - The speaker discusses the importance of using a debugger and how it can help with debugging and troubleshooting.
- He explains that Rust provides a way to debug and inspect the code at the assembly level.
-
The speaker introduces the concept of
async
tasks and how they can be used to create concurrent code on a microcontroller. -
He explains that the
async
task system can help improve the performance and responsiveness of the code. - The speaker discusses the limitations of Rust’s memory model and how it can affect its ability to handle certain architectures.
- He explains that Rust’s safety guarantees can make it difficult to implement certain optimizations.
- The speaker provides a list of resources and libraries that can be used for embedded programming with Rust.
-
He explains that the
Rust Embedded
community is actively working on improving the ecosystem and providing more libraries and tools. -
The speaker provides a brief overview of the
Cargo
build tool and how it can be used to build and deploy Rust code on a microcontroller. -
He explains that
Cargo
provides a way to manage dependencies and build a project in a consistent and reproducible way. -
The speaker discusses the importance of using a
config.toml
file to configure the build process and provides an example of how it can be used. -
He explains that the
config.toml
file can be used to define the build settings and dependencies for a project.