Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore efficient multitasking on microcontrollers using zero-cost, memory-safe abstractions in this 30-minute conference talk from RustFest Zürich 2017. Delve into the world of embedded systems, where fast, efficient, and safe concurrent programming is crucial. Learn how to respond to multiple external stimuli within tight time constraints while maintaining low power consumption on resource-constrained microcontrollers. Discover techniques for handling general-purpose input/output, timers, status registers, and serial interfaces. Examine concepts such as infinite generators, cooperative multitasking, interrupts, and memory sharing. Understand how to prevent data races and improve memory safety using the ceiling priority protocol. Gain insights into Rust's concurrency model, including the use of app macros, main function signatures, resources, atomics, and ring buffers. By the end of this talk, grasp the fundamentals of implementing concurrent reactive objects in real-time systems using Rust.
Syllabus
Introduction
Agenda
Microcontrollers
Bare Metal System
General Purpose Input Output
Timers
Status Register
Serial
Concurrency
Serial interface
Infinite generators
Linking task
Simultaneous execution
Cooperative multitasking
Interrupts
Ecole Forum
Memory sharing
Data race
Memory safe
Memory safe example
Improving memory safety
Ceiling priority protocol
Memory Safety
RTFM
concurrency model
app macro
main function
signatures
resource
Atomics
Ring Buffer
RealTime
Concurrent Reactive Objects
Taught by
Rust