Teil 05: Firmware bauen und übertragen
Lernziel: ELF/UF2 und BOOTSEL verstehen.
Voraussetzungen: Der Rust-PC-Grundlagenkurs bzw. Grundkenntnisse in Rust; außerdem die vorangegangenen Pico-Lektionen. Zielboard: Pico 2 / Pico 2 W (ARM); Hinweise für RP2040 in der Kursübersicht.
Worum geht es?
Ein normales Cargo-Build erzeugt gewöhnlich ein ELF-Artefakt. Für den USB-Bootloader wird häufig eine UF2-Datei erstellt, zum Beispiel mittels eines geeigneten UF2-Konverters/picotool. Halte BOOTSEL gedrückt und verbinde den Pico per USB: ein Massenspeicher-Laufwerk erscheint. Kopiere die zum Board passende UF2-Datei dorthin. Alternativ kann ein SWD-Debugger per probe-rs laden.
Schritt für Schritt
# Beispiel: ARM-Ziel für Pico 2
cargo build --release --target thumbv8m.main-none-eabihf
# Danach die UF2 entsprechend dem gewählten
# Projekttemplate/Tool erzeugen und per BOOTSEL kopieren.
Einordnung: Für Pico 2 nicht blind RP2040-UF2-Werkzeuge oder RP2040-Firmware verwenden.
Hintergrund und häufige Fehler
- Board prüfen: Pico/Pico W (RP2040) und Pico 2/Pico 2 W (RP2350) brauchen unterschiedliche Compilerziele und Boardkonfigurationen.
- Hardware zuerst: Vor dem Flashen Pinbelegung, gemeinsame Masse und 3,3-V-Pegel prüfen.
- Versionsstand: Übernehme die passenden Embassy-Beispiele und Abhängigkeiten aus demselben Repository-Stand; APIs ändern sich zwischen Releases.
- Schrittweise testen: Erst ein kleines funktionsfähiges Beispiel, danach jeweils genau eine Änderung vornehmen.
Selbst ausprobieren
Beschreibe den Unterschied zwischen ELF, UF2 und der Bootloader-Taste.
Musterlösung anzeigen
ELF ist das Build-Artefakt samt Maschinenkode/Metadaten; UF2 ist ein transportfreundliches Flash-Format; BOOTSEL startet den ROM-USB-Bootloader.
Dokumentation für deine Versuche
Notiere verwendetes Board, Verdrahtung, Git-Commit oder Bibliotheksversion, Build-Befehl, Ergebnis und aufgetretene Fehlermeldungen. Halte dazu ein Foto oder einen Screenshot fest, der später in den Website-Beitrag übernommen werden kann.
Weiterführende Informationen
- Embassy – offizielles Repository und RP-Beispiele
- Embassy-Dokumentation
- RP-HAL mit RP2040-/RP235x-Hinweisen
