© Golubovy/Shutterstock.com
Java am Microcontroller mit MicroEJ - Teil 1

Runtime am STM32 installieren


MicroEJ ist eine durchaus leistungsfähige Java Runtime, die die Ausführung von Java-Code auf verschiedenen Mikrocontrollern unterstützt. Quasi nebenbei bietet das Beratungsunternehmen einen umfangreichen GUI-Stack und Supportinfrastruktur an.

Der Gedanke, Java auf einem Mikrocontroller auszuführen, wirkt auf den ersten Blick paradox. Denkt man ausschließlich über primitive Achtbitter wie PIC oder AVR nach, so ist die Konsterniertheit durchaus nachvollziehbar. Heute hat man es im Allgemeinen aber mit wesentlich leistungsfähigeren Controllern zu tun – ein STM32 kann schon einmal 200 MHz Taktrate erreichen.

Die Verwendung von Java am Mikrocontroller hilft, die TCO der Gesamtlösung zu reduzieren. Basiert sowohl der Embedded- als auch der Servercode auf Java, ist die logische Kopplung wesentlich geringer. Dass dies zu einer insgesamt unproblematischeren Systemwartung führt, folgt aus der Logik.

Streamlining im Gange

MicroEJ ist per se kein wirklich neues Produkt – das französische Beratungsunternehmen I2ST hat damit seit einigen Jahren mehr oder weniger erfolglos herumgewurstelt. Seit der Übernahme von Atollic durch STMicroelectronics scheint man im Hause MicroEJ allerdings die Warnzeichen gesehen zu haben, weshalb sich das Produkt im Moment in einer aktiven Restrukturierungsphase befindet.

Da wir in dieser Artikelserie keine Hardwaredesignkenntnisse voraussetzen wollen, müssen wir uns naturgemäß auf eine von Haus aus unterstützte Plattform beschränken. Abbildung 1 zeigt, was man direkt mit MicroEJ Runtimes ausstattet.

hanna_microej_1_1.tif_fmt1.jpgAbb. 1: MicroEJ unterstützt einige weit verbreitete Plattformen [1]

Im nächsten Schritt besuchen wir die unter [2] bereitstehende Downloadwebseite, wo wir auf den Knopf Download MicroEJ SDK klicken. Wenn Sie auf Ihrem Rechner noch keine (halbwegs aktuelle) Version von Java 8 haben, finden Sie ebenda auch einen Verweis auf die Webseite von Sun. Die JDK-Version muss dabei unbedingt für eine 64-Bit-Architektur vorgesehen sein. Nach der erfolgreichen Bereitstellung können Sie jedenfalls auf die Datei MicroEJ-SDK-Installer-Win64-19.05.exe klicken. Wer, wie der Autor dieser Zeilen, unter Windows arbeiten möchte, muss danach noch einen Permission-Dialog abnicken.

Neu ist, dass MicroEJ seit einiger Zeit auch Linux und macOS unterstützt. Wer STMicroelectronics-Systeme programmiert, sollte für das Deployment der Firmware allerdings kurzfristig eine Windows-Box zur Hand haben (oder die STLink-Kommandozeilenwerkzeuge beherrschen).

Während der Installation fragt das MicroEJ-Installationsprogramm unter anderem nach dem Pfad zu einer Java Runtime, die für die Ausführung des Produkts verwendet werden soll. Achten Sie darauf, einen nach dem Schema C:\Program Files\Java\jre1.8.0_251 aufgebauten Pfad zu erwischen: Findet sich im Pfad irgendwo der String X86, so selektieren Sie eine mit MicroEJ nicht verwendbare 32-Bit-Version. Wichtig ist in diesem Zusammenhang noch, dass diese Version von Java 8 während der gesamten Lebensdauer Ihrer MicroEJ-Installation verfügbar bleiben muss. Entfernen Sie diese versehentlich, so ändert sich der Pfad zur Java-EXE, was sogar die Ausführung des Installationsprogramms unmöglich macht.

Hardwarespezifische Aktivitäten

Eine alte und immer wieder auftretende Fehleinschätzung ist, dass ein Cross-Plattform-Entwicklungssystem den PT-Entwickler komplett davon entbindet, sich mit der darunterliegenden Hardware auseinanderzusetzen. Was schon im Handcomputerbereich falsch war, ist logischerweise im Embedded-Bereich noch falscher.

Wir wollen in den folgenden Schritten mit einer komplett vorgefertigten Plattform arbeiten. Wir öffnen deshalb [3], wo wir zwischen den drei in Abbildung 2 gezeigten Zielsystemen wählen dürfen.

hanna_microej_1_2.tif_fmt1.jpgAbb. 2: Möchte man eine fertige Runtime haben, reduziert sich die Auswahl

Der Autor wird in den folgenden Schritten mit der STMicroelectronics-Plattform arbeiten, weshalb wir auf den Knopf Get started unter der Abbildung der jeweiligen Platine klicken.

Im nächsten Schritt befehlen wir einen Start von MicroEJ SDK – auf der Workstation des Autors war das Programm im Startmenü unter dem Namen MicroEJ SDK 19.05 zu finden. Achten Sie darauf, die korrekte Version zu erwischen. Es ist durchaus möglich, mehrere Varianten des Produkts gleichzeitig auf der Box zu installieren.

Aus technischer Sicht ist MicroEJ eine auf Eclipse aufgebaute Entwicklungsumgebung. Vergeben Sie im Rahmen des Starts einen mehr oder weniger beliebigen Workspace-Pfad. Die Auswahl des MicroEJ Repositorys ist insofern wichtiger, als I2ST dort (teilweise umfangreiche) Hintergrundcodedateien ablegt. Da das C-Laufwerk und das Profilverzeichnis des Autors allerdings auf einer SSD liegen, ist die Auswahl des von MicroEJ von Haus aus empfohlenen Verzeichnisses akzeptabel. Nach dem Start finden Sie einen Webbrowser, der die MicroEJ-Developer-Webseite anzeigt. Schließen Sie ihn wie jedes andere Eclipse-Tab, um zur gewohnten Arbeitsumgebung zu kommen.

Als Nächstes benötigen wir ein Virtual Device, das in der ...

Neugierig geworden? Wir haben diese Angebote für dich:

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