Benutzerschnittstelle entwickeln Java-HMIs für Cortex-M-Mikrocontroller

Mit „MicroEJ“ bekommen auch Geräte mit kleinen Controllern eine intelligente Benutzeschnittstelle. Die Basis dafür liefert eine virtuelle Java-Maschine, deren Speicherbedarf sich bis auf 50 KB reduzieren lässt.
Mit „MicroEJ“ bekommen auch Geräte mit kleinen Controllern eine intelligente Benutzeschnittstelle. Die Basis dafür liefert eine virtuelle Java-Maschine, deren Speicherbedarf sich bis auf 30 KB reduzieren lässt.

Mit "MicroEJ" bekommen auch Geräte mit kleinen Controllern eine intelligente Benutzerschnittstelle. Die Basis dafür liefert eine virtuelle Java-Maschine, deren Speicherbedarf sich bis auf 30 KB reduzieren lässt.

Mit dem als Eclipse-Plugin gelieferten Software-Entwicklungspaket MicroEJ können Benutzerschnittstellen mit Java und mitgelieferten Grafik-Bibliotheken, Widgets und Beispielen entwickelt werden. Simulation und Debugging erfolgen auf dem Entwicklungs-PC. Läuft alles nach Wunsch, wird das HMI auf das Zielsystem kopiert.

Entwicklungswerkzeuge sind dabei ein Storyboard-Editor zur Erstellung der Bildschirmabläufe, ein Front-Panel-Editor, der das Erscheinungsbild in der zukünftigen Geräteumgebung zeigt, sowie ein Schriften-Editor, um der Benutzeroberfläche das gewünschte Corporate Design zu verleihen.

Die objektorientierte Programmierung erleichtert die Wiederverwendung von Komponenten und die Portierung auf unterschiedliche Hardware-Architekturen. Die Lösung eignet sich u.a. für verschiedene ARM-Mikrocontroller vom Cortex-M0+ aufwärts – und das entweder ohne (bare-metal) oder mit einem der gängigen Betriebssysteme: FreeRTOS, Keil RTX, Micrium µC/OS-III, Express Logic ThreadX, GreenHills Integrity, WindRiver VxWorks und Linux. Vollständig unterstützte Evaluierungs-Boards mit eingebundenem BSP gibt es bisher für die Boards FRDM-KL46Z von Freescale (Cortex M0+), LPC1788 Developer‘s Kit von Embedded Artist (Cortex-M3), STM3220G-EVAL und STM3240G-EVAL von STMicroelectronics (Cortex M3 und M4) sowie YLCDRX63N von Renesas (RX600).

Dabei bleibt es dem Entwickler freigestellt, welche Code-Teile er weiterhin in C-Sprache entwickelt, um hardwarenahe Komponenten zu steuern und zu optimieren, und welche er lieber in Java behandelt. Das „Smart Native Interface“ sorgt für den Austausch von Daten und den Aufruf von Funktionen von einer Programmiersprache zur anderen.

Die Portierbarkeit geht so weit, dass einmal erstellte HMI-Anwendungen per Mausklick und ohne zusätzlichen Programmieraufwand auch für den Internet-Browser oder für Android und iOS-Geräte generiert und eingesetzt werden können. Da MicroEJ eine optimierte und extrem kompakte Laufzeitumgebung und Bibliotheken nutzt, können High-End-HMIs mit Smartphone-ähnlichen Bedieneffekten auf preisgünstigen Cortex-M-Mikrocontrollern ablaufen. Und das geht auch nicht auf Kosten der Geschwindigkeit, denn das Gesamtsystem mit einer HMI-Applikation fährt z.B. auf einem mit 120 MHz getakteten Cortex-M3-Controller innerhalb von 10 Millisekunden hoch.