© radoma/Shutterstock.com
Embedded Rust in einfachen Schritten

Mikrocontroller mit Rust programmieren


Die Programmiersprache Rust wird zunehmend interessanter, auch im Bereich der eingebetteten Systeme. Dieser Artikel ist eine kurze Einführung in Rust und warum es für die Programmierung von Mikrocontrollern geeignet ist. Außerdem wird ein kurzes Rust-Programm vorgestellt, das auf einem Mikrocontroller ausgeführt werden kann.

Rauchmelder, Haushaltsgeräte, Werkzeugmaschinen, Autos: Mikrocontroller sind überall. Die winzigen Computer werden überall dort eingesetzt, wo aufgrund des verfügbaren Platzes, des Budgets oder der Anforderungen an den Energieverbrauch die Verwendung eines „richtigen“ Computers nicht möglich oder praktikabel ist. Oft laufen Mikrocontroller ohne Betriebssystem und müssen in Echtzeit auf sich verändernde Umgebungseinflüsse reagieren. Betrachtet man dazu noch die eingeschränkten Ressourcen – nur wenige kB Arbeitsspeicher sind üblich – wird schnell klar, dass nicht jede Sprache für die Programmierung dieser Geräte geeignet ist. Der Platzhirsch in diesem Bereich ist C, aber auch C++, Assembler und einige andere Programmiersprachen kommen zum Einsatz. In den letzten Jahren hat sich mit Rust ein weiterer idealer Kandidat für die Programmierung von Mikrocontrollern positioniert. Rust ist eine recht junge Programmiersprache, die Version 1.0 wurde 2015 veröffentlicht. Zunächst von Mozilla Research für die Verwendung im experimentellen Browser Servo entwickelt, wird Rust inzwischen von einer weltweiten Entwicklercommunity getragen und in zahlreichen Unternehmen (darunter Google, Microsoft und Facebook) produktiv eingesetzt.

Warum Rust?

Rust wirbt auf seiner Website [1] mit Produktivität, Zuverlässigkeit und Performance. Die Produktivität von Rust ist auf sein modernes Tooling und das gut durchdachte Design der Sprache zurückzuführen. Rust profitiert davon, dass von den Erfolgen und Fehlern der Vorgänger gelernt werden konnte. Allerdings macht der Compiler – im Dienst der Zuverlässigkeit – dem Entwickler oft das Leben schwer, indem er mit zahlreichen Fehlermeldungen auf mögliche Probleme hinweist. Da dies für Anfänger oft eine hohe Hürde beim Erlernen von Rust darstellt, sei allen Interessierten die ausführliche Lektüre der exzellenten (englischsprachen) Dokumentation empfohlen [2]. Während viele moderne Sprachen mit Just-in-Time-Compilern und optimierten Garbage-Kollektoren eine beeindruckende Performance in Form von hohen Durchsätzen erreichen, kommt Rust dank seines intelligenten Compilers ohne eine komplexe Laufzeitumgebung aus. Das resultie...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang