Rust auf dem Raspberry Pi Pico · Teil 5TutorialFortgeschritten

Rust

Rust Pico 05: Firmware bauen und übertragen

ELF/UF2 und BOOTSEL verstehen. Embedded Rust verständlich erklärt, mit Praxisaufgabe und Musterlösung.

Kapitel: Einstieg

Veröffentlicht am

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


← Teil 04 · Teil 06 →