U00: Down to the Metal
____ _____ ______ __ __ __ / __ \/ ___/__ _______ / ____/___ ___ / /_ / / / / / / / /\__ \/ / / / ___/ / / __/ __ `__ \/ __ \/ /_/ / / /_/ /___/ / /_/ (__ ) / /_/ / / / / / / /_/ / __ / /_____//____/\__, /____/ \____/_/ /_/ /_/_.___/_/ /_/ /____/
Welcome back at DSys GmbH, we are happy to have you as a new embedded engineer.
Cyber-Physical Systems vs. Embedded Systems
CPS is the newer term (2006), Embedded has been around for a while.
Core Practical & Academic Challenge: "Passing of time is inexorable". [Lee08]
We talk about safety-critical systems, when they impose risk of loss.
loss related to human health, property, environment
As of today, development of embedded / CPS is quite unalike development of, e.g., desktop / web applications, partly due to differences in...
- Requirements
time-awareness, fail-safe, operation in adverse environments, constrained resources, focus on sense/control/act over compute, ... - Methodology
V-model, verification & validation, regulation, certification, ... - Ecosystem
proprietary platforms & tools, closed source, distribution of compiled artifacts, ...
Why Embedded Rust?
Considering the existing embedded ecosystems, C(++) would be a better choice, right?
Embedded Rust aims to be...
-
Safe: Thread-, and Memory-Safety, enforce correct API usage via type-system
embedded-hal
,rtic
,embassy
,uom
, ... -
Productive: ergonomic frameworks as well as tools
probe-rs
,defmt
, ... -
Open: many common crates provided under permissive license via crates.io
."everything" presented today should be under a permissive license
Rust: A language empowering everyone to build reliable and efficient software...
... for embedded / cyber-physical systems.
An Abstract System Map
largely simplified — real systems are orders of magnitude more complicated
Latency-, Reliability-, and Energy-Awareness
Dependability
Hands-On
The Hardware
Use https://gitlab.com/rust-saar/material/-/blob/main/2022_01_11/02-Embedded-Rust.pdf Slide 7
Setup
https://gitlab.com/rust-saar/material/-/blob/main/2022_01_11/02-Embedded-Rust.pdf Slide 26
- knurling tools
- probe-rs