Weiterlesen mit NEWS. Jetzt testen.
Lesezeit ca. 7 Min.

Toolbox für den Pico


Raspberry Pi Geek - epaper ⋅ Ausgabe 10/2021 vom 05.08.2021

Pico-Programmierung

Artikelbild für den Artikel "Toolbox für den Pico" aus der Ausgabe 10/2021 von Raspberry Pi Geek. Dieses epaper sofort kaufen oder online lesen mit der Zeitschriften-Flatrate United Kiosk NEWS.

Bildquelle: Raspberry Pi Geek, Ausgabe 10/2021

README

Wer sich ausführlicher mit dem Mikrocontroller Pico beschäftigen will, benötigt eine Arbeitsumgebung, die Hand in Hand mit dem Controller interagiert und damit die Arbeit erleichtert. Im Rahmen einer mehrteiligen Serie konzentriert sich dieser Artikel darauf, die Grundlagen mit der Toolchain Visual Studio Code zu schaffen.

Ob Großrechner oder Mini-Computer: Eine CPU führt nur Befehle aus, die sie auch kennt. Auf der Prozessorebene handelt es sich dabei um Maschinenbefehle, also letztlich eine für die meisten Menschen unlesbare Abfolge von Nullen und Einsen. Von den allerersten Anfängen der Computerei einmal abgesehen, als die Experten den Maschinencode tatsächlich von Hand schreiben mussten, macht das heute niemand mehr. Programmierer schreiben Quellcode, den ein Compiler dann in den für die CPU lesbaren Maschinencode umwandelt.

Bei Mikrocontrollern (MCU, Micro Controller ...

Weiterlesen
epaper-Einzelheft 7,99€
NEWS 30 Tage gratis testen
Bereits gekauft?Anmelden & Lesen
Leseprobe: Abdruck mit freundlicher Genehmigung von Raspberry Pi Geek. Alle Rechte vorbehalten.
Lesen Sie jetzt diesen Artikel und viele weitere spannende Reportagen, Interviews, Hintergrundberichte, Kommentare und mehr aus über 1000 Magazinen und Zeitungen. Mit der Zeitschriften-Flatrate NEWS von United Kiosk können Sie nicht nur in den aktuellen Ausgaben, sondern auch in Sonderheften und im umfassenden Archiv der Titel stöbern und nach Ihren Themen und Interessensgebieten suchen. Neben der großen Auswahl und dem einfachen Zugriff auf das aktuelle Wissen der Welt profitieren Sie unter anderem von diesen fünf Vorteilen:

  • Schwerpunkt auf deutschsprachige Magazine
  • Papier sparen & Umwelt schonen
  • Nur bei uns: Leselisten (wie Playlists)
  • Zertifizierte Sicherheit
  • Freundlicher Service
Erfahren Sie hier mehr über United Kiosk NEWS.

Mehr aus dieser Ausgabe

Titelbild der Ausgabe 10/2021 von Ein besonderes Jahr. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Ein besonderes Jahr
Titelbild der Ausgabe 10/2021 von Schreiberling. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Schreiberling
Titelbild der Ausgabe 10/2021 von Sammelstelle. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Sammelstelle
Titelbild der Ausgabe 10/2021 von Kraftvoller Mini. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Kraftvoller Mini
Titelbild der Ausgabe 10/2021 von Cleverer Stick. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Cleverer Stick
Titelbild der Ausgabe 10/2021 von Wissenschaftler. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Wissenschaftler
Vorheriger Artikel
Leitend und leuchtend
aus dieser Ausgabe
Nächster Artikel Das nächste Heft
aus dieser Ausgabe

... Unit) wie dem Pico kommt hinzu, das der Quell- und Maschinencode auf einem Rechner entsteht, der das fertige Programm nicht ausführen kann. Es gilt also, das Binary erst auf das Ziel (Target) zu kopieren, was man im allgemeinen Sprachgebrauch auch flashen nennt. Viele MCUs benötigen dafür spezielle Adapter, beim Pico gestaltet sich die Sache dagegen sehr einfach.

Für den ganzen Prozess vom Quellcode bis zum lauffähigen Pico-Code brauchen Sie dennoch eine ganze Reihe von Programmen. Man spricht hier von einer Toolchain, also Werkzeugkette. Einzige Ausnahme: Sie programmieren in Python. Dann genügt ein beliebiger Editor (siehe Kasten Python für den Pico).

In unserem Workshop geht es aber um die Programmierung in C, das gegenüber Python immer dann punktet, wenn höchste Performance oder größtmöglicher Kontrolle der Ressourcen gefragt ist.

Integrierte Entwicklung

Als Entwickler hantieren Sie üblicherweise nicht direkt mit vielen Programmen, sondern nutzen eine integrierte Entwicklungsumgebung wie Arduino IDE, die inzwischen viele verschiedene Mikrocontroller unterstützt. In der Beta-Phase befindet sich aktuell die Version 2.x, diese soll später auch den Pico unterstützen.

Die Raspberry Pi Foundation entschied sich aber für einen anderen Ansatz. Die Grundlage für die Pico-Entwicklung soll der Editor Visual Studio Code bilden, kurz auch VSC genannt.

VSC hat technisch nichts mit der bekannten Entwicklungsumgebung Visual Studio von Microsoft zu tun. VSC wurde von Anfang an komplett als Open Source unter Führung von Microsoft entwickelt und gilt aktuell als der Goldstandard für erweiterbare Editoren: ein Tool von Programmierern für Programmierer.

Das sehr schlanke VSC lädt Zusatzfunktionen über Erweiterungen (Plugins) mit wenigen Klicks nach. So expandiert der Editor zu einer kompletten Entwicklungsumgebung, die im Hintergrund Compiler, Make-Utilities und Flash-Programme einbindet. Als Arduino-IDE-Nutzer müssen Sie sich zwar etwas umgewöhnen, dafür bietet VSC deutlich mehr Funktionen.

Einfache Installation

Die Tabelle Werkzeuge fasst alle Bausteine der Toolchain zusammen. Aktuell finden sich nur Teile davon im normalen Raspbian-Repository, andere müssen Sie per Git holen und dann selbst kompilieren. Das klingt komplex, doch zum Glück gibt es ein Installationsskript , das die grundlegende Arbeit erledigt. Bei Erscheinen dieses Artikels müsste eine dann aktualisierte Version neben dem Ras Pi auch andere Debian-basierte Linux-Varianten und sogar Apple unterstützen.

Mit den meisten der Programmen kommen Sie später sowieso nicht mehr direkt in Berührung. Als Entwicklungsmaschine dient idealerweise ein RasPi 4; wer auf Linux, Apple oder Windows entwickelt, hat etwas mehr Arbeit. Ein gutes Einführungsdokument hilft aber beim Setup. Bevor Sie das Installationsskript starten, sollten Sie prüfen, ob auf der SD-Karte genug Platz zur Verfügung steht: Das Skript legt im aktuellen Verzeichnis das Unterverzeichnis pico/ an, in dem unter anderem das Software Development Kit und die Beispiele landen. Des Weiteren erfordert es eine möglichst aktuelle Version von Raspberry Pi OS.

Python für den Pico

Auf dem Pico startet immer nur ein Programm, etwa ein Python-Interpreter wie MicroPython oder CircuitPython. Letzterer ist etwas einfacher gestrickt, verfügt aber über mehr Hardwarebibliotheken und unterstützt mehr Plattformen. Der Vorteil von Python: Sie müssen den Interpreter nur einmal auf dem Pico installieren. Danach führt er Interpreter nicht nur Python-Skripte aus, sondern emuliert auch eine kleine Festplatte. Dank dieser gestaltet sich das Kopieren neuer Skripte auf den Pico einfach, denn Sie müssen das Board dafür nicht mehr vom Strom trennen und mit dem Bootsel-Knopf hantieren. Den Python-Code erstellen Sie mit einem Editor Ihrer Wahl. Es gibt spezialisierte Varianten wie Thonny oder Mu, die den Pico direkt unterstützen und den Kopiervorgang vereinfachen. Außerdem zeigen sie die Ausgabe der seriellen Schnittstelle des Pico an.

Weitere Infos und interessante Links

www.raspi-geek.de/qr/46117

Besonders lange läuft das Skript auf einem RasPi 4 nicht. Es installiert die verfügbaren Programme aus den Repositories, lädt die erforderlichen Git-Repos herunter und baut die Software.

Nacharbeiten

Den Startpunkt für die Pico-Entwicklung bildet immer die IDE, also der Editor. Sie starten ihn über das Menü oder durch Eingabe von code auf der Kommandozeile. Abbildung 1 1 zeigt das grundlegende Layout des Editors. Ganz links sehen Sie ein paar Icons. Es folgt eine Spalte mit je nach Kontext unterschiedlichem Inhalt.

Rechts organisiert VSC die offenen Dateien in Reitern.

Den Bereich unterhalb der Dateien nimmt ein Terminal ein, in dem Sie bei Bedarf Linux-Kommandos absetzen. Optional blenden Sie das Terminal mit einem Klick auf das X links unten aus. Den Abschluss bildet am unteren Rand die Fußzeile mit Statusinformationen und manchmal mit Buttons.

Wie bei jedem neuen Programm fällt beim Editor von Visual Studio Code etwas Aufwand beim Einarbeiten an, der sich aber schnell amortisiert. Zuerst stellen Sie die Sprache auf Deutsch um, wobei Sie gleich zwei zentrale Funktionen kennenlernen, die Kommandopalette und den Marketplace.

Allerdings klappt die Sprachumstellung nicht beim ersten Programmstart. Dort empfängt Sie zwar ein kleiner Assistent für die allerersten Einstellungen 2 2 , aber viel mehr als das Umstellen der Oberfläche von dunkel auf hell empfiehlt sich an dieser Stelle einen Einsteiger nicht. Das Fenster schließen Sie entsprechend problemlos mit einem Klick auf das dem X im Reiter.

Die Grundfunktionen des Editors, etwa das Öffnen von Dateien und Verzeichnissen, erreichen Sie wie üblich über das Menü oder über Tastaturkürzel. Hier gibt es nur wenige Unterschied zu anderen Editoren. Es stehen jedoch nicht alle Funktionen über das Menü oder über Tastenkombinationen zur Verfügung.

Hier kommt die Kommandopalette ins Spiel, die Sie entweder über View | Command Palette, das Kürzel [Strg]+[Umschalt]+[P] oder [F1] erreichen.

Die Palette bietet eine recht ausgefeilte Filterfunktion. Statt durch die seitenlange Liste der Befehle zu scrollen, tippen Sie Teile des Befehls ein, was die Auswahl einschränkt. Zum Ändern der Lokalisierung tippen Sie lang und wählen dann Configure Display Language aus 3 3 . Die standardmäßig nicht vorinstallierte deutsche Sprache 4 4 richten Sie im folgenden Dialog über den Punkt Install additional languages ein.

Der Code-Editor verzweigt daraufhin in den Marketplace 5 5 . Dort blättern Sie entweder durch die lange Liste der unterstützten Sprachen, bis Sie Deutsch angeboten bekommen, oder Sie machen es wie in der Kommandopalette und tippen in das obere Feld einen passenden Filterbegriff (hier german). Per Klick installieren Sie das Paket. Nach einem Neustart nutzt die Software die neue Lokalisierung.

Bei Bedarf wechseln Sie jederzeit über das Marketplace-Icon (Abbildung 6 6 , linke Spalte) wieder dorthin. Von Haus aus zeigt das Modul eine Liste aller installierten Erweiterungen. Neue Extensions finden Sie über die Eingabe eines Begriffs im Suchfeld. Fast alle Extensions sind kostenlos und stehen unter einer offenen Lizenz. Die Chancen stehen gut, dass Sie auch für Spezialbedürfnisse eine passende Erweiterung finden.

Für den zweiten Teil des Workshops erweist sich die Erweiterung Tasks des Users actboy168 als nützlich. Da es mehrere Extensions mit ähnlichem Namen gibt, achten Sie bei der Auswahl darauf. Den entsprechenden Eintrag sehen Sie in Abbildung 6 6 ganz unten.

Dateien zum Artikel herunterladen unter

www.raspi-geek.de/dl/46117

Genauso schnell, wie Sie Erweiterungen installieren, entfernen Sie sie auch wieder. Die vom Setup installierten Werk-zeuge sollten Sie allerdings nicht aus der Liste der Erweiterungen entfernen. Bis auf das Sprachpaket und die Tasks-Erweiterung handelt es sich um die Erweiterungen aus Abbildung 6 6 .

Grundfunktionen

Der Editor umfasst mehrere große Bereiche, die Sie über die Icons links erreichen. Das oberste davon zeigt den Explorer. Bei geöffnetem Ordner sehen Sie in der zweiten Spalte eine Ansicht wie in Abbildung 1 1 .

Oben befinden sich die Dateien, darunter folgt die Gliederung, bei C-Code die definierten Funktionen. Verwalten Sie den Code per Git, blendet die Software ganz unten eine Zeitachse ein, die sämtliche Commits an der gerade geöffneten Datei aufführt.

Den zweiten Bereich bildet die Suchfunktion in Form eines Lupen-Icons; sie erlaubt das bequeme Suchen und Ersetzen von Text innerhalb von Dateien und Ordern. Der dritte Bereich widmet sich der Quellcodeverwaltung. In Abbildung 1 1 sehen Sie zum Beispiel ein rotes M rechts von demo.c. Das deutet darauf hin, dass die Datei modifiziert wurde. Das Git-Icon (dritter Bereich) zeigt das ebenfalls an. Klicken Sie auf das Icon, dann sehen Sie alle geänderten Dateien und können diese per Commit ins Repository aufnehmen oder Änderungen in der Diff-Ansicht untersuchen.

Das vierte Icon kombiniert ein Käfer- Symbol (Bug) mit dem Abspiel-Icon (Dreieck nach rechts). Diesem Bereich widmet sich der zweite Teil dieses Workshops in der nächsten Ausgabe, denn hier starten Sie das Programm im interaktiven Debugger und spüren Programmierfehler auf.

Einige Erweiterungen platzieren auch eigene Icons in der Leiste. Ganz unten stellt VSC noch zwei besondere Icons bereit. Das obere mit dem stilisierten Menschen erlaubt das Anmelden an einem VSCode-Account, der die Einstellungen des Editors dann bequem zwischen verschiedenen Rechnern synchronisiert.

Hinter dem Zahnradsymbol unten verbirgt sich eine Sammlung von Menüeinträgen rund um das Thema Konfiguration, was die aufwendige Suche im normalen Menü erspart.

Fazit

Wer die Arbeit mit einem professionellen Editor nicht kennt, den erschlägt die Funktionsvielfalt von Visual Studio Code zunächst. Das Lerntempo bestimmen Sie allerdings selbst, denn bei fast allen Funktionen handelt es sich um Komfort- Features: Man muss sie nicht nutzen.

Echte Programmierer profitieren aber schnell von den nahezu unbegrenzten Möglichkeiten.

Wer mehr lernen will, der findet im Internet vielfältige Tutorials als Blogs oder im Videoformat. Für diesen Pico-Workshop stehen die Grundfunktionen des Editors nicht weiter im Mittelpunkt; die nächste Folge steigt in das Thema Programmierung ein. Der Code-Editor bleibt dabei aber der ständige Begleiter, um die Arbeit zu erleichtern. Nebenbei lernen Sie dann weitere Werkzeuge des Power-Editors kennen. (tle)