Demmel Products Schneller zur grafischen Benutzeroberfläche

Trendsetter "intelligente" Displays

Das österreichische Unternehmen Demmel Products zählt in Sachen »intelligente« Displays zu den Trendsettern. Die Elektronik sprach mit Geschäftsführer Herbert Demmel über deren jüngste Entwicklung: eine Java Virtual Machine für Embedded-Display-Systeme.

Elektronik: Herr Demmel, Ihr Unternehmen hat auf der Electronica den Prototyp, auf der embedded world nun die serienreife Variante einer Java VM vorgestellt, mit der Java-Code direkt auf einem Ihrer iLCD-Panels ausgeführt werden kann. Was ändert sich dadurch für Ihre Kunden?

Herbert Demmel: Sie können nun in einer Java-Entwicklungsumgebung grafische Benutzeroberflächen erstellen und ohne externen Mikrocontroller direkt auf dem Display ausführen. Für den Schritt vom Prototyp zum serienreifen Modell haben wir noch Anpassungen an der Bibliothek vorgenommen, damit sie auch den Programmieransprüchen von professionellen Java-Entwicklern entspricht.

Elektronik: Die Erweiterung lässt sich per Update auf alle Ihre iLCDs aufspielen?

Herbert Demmel: Ja, Änderungen an der Hardware sind dafür nicht erforderlich. Eine Ausnahme bilden die kleinen Modelle mit 2,8 und 3,0 Zoll. Bei diesen Displays ist das Flash-Speichermodul für die virtuelle Maschine zu klein. Eine Nachrüstung macht hier aber auch nicht viel Sinn, da sie speziell für das untere Preissegment entworfen wurden.

Elektronik: Warum haben Sie sich für Java entschieden und nicht für C?

Herbert Demmel: Weil Unternehmen heute deutlich einfacher einen Programmierer finden, der in der Lage ist, mit Java funktionssichere Programme zu schreiben als mit C. Und das ist auch bei den Firmen so, die unsere Displays beziehen. Eine C-Programmierung ist schlank und mächtig, öffnet aber auch Tür und Tor für Fehler. Zum Beispiel sind da die Pointer, mit denen Werte an bestimmte Positionen im Speicher geschrieben werden können. C-Programmierer mit wenig Erfahrung setzen Pointer aber oft nicht richtig auf, sodass sie irgendwann im Programmablauf an eine falsche Position zeigen und dann Speicherwerte überschreiben, die gar nicht überschrieben werden sollen. Das führt zum Systemabsturz. Diese Fehler lassen sich nicht über Debugger aufspüren und sind sozusagen Zeitbomben im Programmcode. Ohne einen wirklich versierten C-Programmierer kann ein Unternehmen dann auch mal böse auf die Nase fallen. Solche Pointer-Fehler habe ich auch schon in Beta-Versionen verschiedenen Quellcodes von Unternehmen gesehen.

Java ist eine objektorientierte Sprache, die auch von Programmierern mit wenig Erfahrung gut beherrscht wird und auch ganz bewusst auf das Konzept der Pointer verzichtet. Sie ist nach meinem Wissen auch die am meisten verbreitete Sprache.

iLCD-Panels

Demmel Products kauft gewöhnliche Flüssigkristall-Displays (LCDs) und rüstet sie mit zusätzlicher Ansteuerelektronik und einer eigenen Firmware aus, die dann den Namen iLCD-Panel tragen. Für diese Displays kann der Anwender über eine Entwicklungsumgebung (iLCD-Manager) mit einfachen Mitteln eine verhältnismäßig anspruchsvolle grafische Benutzeroberfläche erstellen.

Nach der jüngsten Erweiterung kann eine Benutzeroberfläche auch durch eine Java-Programmierung aufgesetzt werden. Dafür entwickelte das österreichische Unternehmen eine extrem schlanke Java Virtual Machine (VM), die über ein Update der Firmware auf dem „intelligenten“ Display installiert wird, und fügte zum iLCD-Manager eine Java-Entwicklungsumgebung hinzu