2.0 KiB
2.0 KiB
Workshop Plan (60 Minutes)
Goal
Von Rust-Basics zu echter Hardware auf STM32F103C8 Bluepill:
- LED blinken
- Button einlesen
- Analogwert einlesen
- Ausgabe live über
probe-rs/ RTT sehen
Timing
- 00:00-00:10: Setup + Probe Smoke Test (
00) - 00:10-00:28: Rust Basics (
01-03) - 00:28-00:36: Erstes
no_stdFirmware-Projekt (04) - 00:36-00:44: LED Blinky (
05) - 00:44-00:50: Button Input (
06) - 00:50-00:56: Analog Readout (
07) - 00:56-01:00: Integration (
08)
Rules During Workshop
- Bearbeite nur
task/. - Nutze
solution/nur als Hilfe bei Blockern. - Falls >3 Minuten blockiert: Diff vergleichen, minimalen Fix übernehmen, weiter.
- Bei Embedded-Schritten: Board vor jedem
cargo runkorrekt verkabeln.
Repo Management During Workshop
mainenthält Aufgaben und Referenzlösungen.- Instructor kann Wiederherstellungspunkte als Tags setzen:
step-00-start...step-08-solution
- Teilnehmer arbeiten auf lokalem Branch:
participant/<name>
- Wenn eine Aufgabe nicht weitergeht:
- minimalen Diff aus
solution/übernehmen und fortfahren.
- minimalen Diff aus
Step Contract
Jeder Schritt enthält:
README.mdmit Ziel, Ablauf, Done-Checktask/(Aufgabe)solution/(Referenz)
Script Contract
scripts/setup-live.shscripts/verify-host.shscripts/verify-probe.shscripts/run-step.sh <step-id> <task|solution>scripts/check-step.sh <step-id>
Target Contract (Embedded Steps 04-08)
- Target:
thumbv7m-none-eabi - Runner:
probe-rs run --chip STM32F103C8 - Logging:
defmt-rtt+panic-probe
Acceptance Scenarios
- Steps
01-03:cargo runfunktioniert fürtask/undsolution/. - Steps
04-08:cargo build --releasefunktioniert fürtask/undsolution/. - Probe-Verbindung:
probe-rs listerkennt ST-Link.
- Behavior:
05: LED blinkt06: Press/Release Logs07: ADC-Wert reagiert auf Eingang08: integriertes Verhalten läuft stabil