Mikrocontroller: Programmier-Umgebung PlatformIO installieren
Die Arduino-IDE gelangt bei der Programmierung zahlreicher Mikrocontroller an Grenzen. Grund genug, sich mit etwas Leistungsfähigerem zu befassen: PlatformIO.
- Heinz Behling
Die beliebte Arduino-IDE (Integrated Development Environment) gelangt nicht nur bei den neuesten Arduino- und ESP-Boards an ihre Grenzen: Zahlreiche andere moderne Controller-Boards, wie sie beispielsweise in 3D-Druckern sitzen, überfordern inzwischen die stets etwas stiefmütterlich gepflegte und so unkomfortabel gewordene Programmierumgebung (da kann auch die inzwischen endlich veröffentlichte Version 2.0 das Ruder nicht komplett herumreißen). Grund genug, zum moderneren PlatformIO zu wechseln.
Im folgenden erfahren Sie, wie Sie die neue Entwicklungsumgebung inklusive wichtiger Erweiterungen installieren und bedienen.
Was macht eine Programmier-Umgebung aus?
Programme in C++, Python oder anderen Programmiersprachen kann man selbst mit einfachen Texteditoren wie Notepad schreiben. Doch das genügt nicht, um daraus eine fehlerfreie Firmware für einen Mikrocontroller zu machen. So sollten beispielsweise Befehlsworte der jeweiligen Programmiersprache (meist farblich) hervorgehoben werden, damit man etwa Tippfehler leichter erkennt. Automatische Einrückungen einzlner Zeilen oder ganzer Absätze, die in Python beispielsweise sehr wichtig sind, findet man in einfachen Editoren ebenfalls nicht.
Grundlage der hier besprochenen IDE ist Visual Studio Code (VS Code), eine kostenlose Opensource-Software von Microsoft. (Bitte nicht verwechseln mit Visual Studio, ebenfalls von Microsoft, aber nicht Open Source und vor allem als Entwicklungsumgebung fĂĽr Windows- und Smartphone-Apps gedacht.)
Allein ist VS Code aber im Grunde nur ein Programmtext-Editor und ansonsten erst mal nutzlos. Schließlich muss aus dem Programmtext (dem Sourcecode) ja auch noch eine auf dem jeweiligen Board lauffähige Firmware produziert werden. Dazu müssen etwa Software-Bibliotheken mit eingebunden werden, die auf spezifische Bestandteile des jeweiligen Boards zugeschnitten sind. Erst damit ist dann die Ansteuerung von einzelnen Anschlusspins, Peripherie-Bausteinen oder Netzwerk-Chips möglich. Die Programmierumgebung sollte diese Bibliotheken bereitstellen, idealerweise automatisch zum jeweiligen Board passend. Die Arduino-IDE liefert bereits einige mit, die aber auf Arduinos zugeschnitten sind, denn nur diese Boards kennt die IDE von Haus aus. Selbst die Unterstützung für ESP-Boards muss von Hand eingerichtet werden. Und zahlreiche Bibliotheken für diese Boards muss man dann auch noch händisch installieren oder gar erst im Internet suchen.
Schließlich muss dann der Programmtext inklusive der aus den Bibliotheken übernommenen Bestandteile in eine funktionsfähige Firmware für den Mikrocontroller übersetzt werden. Dies übernimmt ein Compiler. Programmier-Umgebungen enthalten immer mindestens einen davon, oft aber auch für jede benutzbare Programmiersprache je einen eigenen.
Den Compiler könnte man ohne weiteres händisch per Befehlszeile steuern. Das ist aber angesichts einer nahezu unüberblickbaren Anzahl von Einstellungsparametern recht mühsam und fehlerträchtig. Das sollte daher von der IDE übernommen werden. In dieser Anleitung übernimmt PlatformIO die Steuerung all dieser Aufgaben. Mit dieser Erweiterung wird VS Code erst zur PlatformIO-IDE.
Und noch eine Erweiterung werden wir in dieser Anleitung installieren: git. Das ist eine Software zur Versionsverwaltung von Dateien. Sie wird sich später nicht nur um die Versionen Ihres Software-Projekts kümmern, sondern vor allem um die Versionen der benutzten Software-Bibliotheken.
Falls Sie Erfahrungen mit der Arduino-IDE haben, kennen Sie sicher den Effekt, dass trotz Installation aller benötigten Bibliotheken der Kompiliervorgang mit etlichen Fehlermeldungen über fehlende Funktionen oder falsche Parameter abbricht. In den allermeisten Fällen liegt dies nicht an Ihrem Programmtext, sondern an Bibliotheks-Versionen, die im Funktionsumfang voneinander abweichen. Ihr Programm lässt sich dann nur mit einer bestimmten Versionsnummer der Bibliothek übersetzen.
In PlatformIO kann git sich um die Beschaffung der richtigen Bestandteile kümmern. Dies funktioniert in der Regel tadellos. Probleme gibt es dabei höchstens, wenn man ein Programm-Projekt von einem anderen Autor importiert, der zum Beispiel als Pfad zu einer Bibliothek einen Ordner seiner Festplatte benannt hat. Die kann dann natürlich auf einem anderen PC nicht gefunden werden.
Bei der folgenden Anleitung kann es übrigens zu Abweichungen gegenüber Ihrem Computer kommen. Grund dafür ist insbesondere, dass ein eventuell schon einmal auf dem Computer installiertes, aber wieder deinstalliertes VS Code Spuren hinterlässt, die das Verhalten und insbesondere das Aussehen der Programm-Oberfläche bei einer erneuten VS-Code-Installation beeinflussen. Diese Spuren sind meist in versteckten Ordnern gespeichert. Im Notfall hilft da eine Internet-Suche mit dem Stichwort VSCode vollständig beseitigen.