Embedded-Entwicklung: Qt for MCUs 1.9 öffnet die Werkzeugkiste für Linux

Neben dem SDK zum Erstellen von Anwendungen für Mikrocontroller sind diverse Tools zum Schreiben von Embedded-Anwendungen für Linux verfügbar.

In Pocket speichern vorlesen Druckansicht

(Bild: HomeArt/Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag

Die Qt Company hat Version 1.9 von Qt for MCUs veröffentlicht. Das aktuelle Release des auf die Embedded-Entwicklung ausgelegten Grafikframeworks holt Linux als Entwicklungs- und Infineon Traveo II als Zielplattform ins Boot. Außerdem existiert eine neue API zum flexibleren Gestalten von Komponenten.

Obwohl Linux insgesamt für Qt eine große Rolle spielt und die Werkzeuge zur Cross-Plattform-Entwicklung wie Qt Creator und Qt Design Studio dafür seit jeher verfügbar sind, liefen die Qt Quick Ultralite Tools zum Erstellen von Anwendungen für Mikroprozessoren bisher nur unter Windows. Eineinhalb Jahre nach dem ersten offiziellen Release von Qt for MCUs sind nun alle zugehörigen Werkzeuge für die Embedded-Entwicklung für Linux erhältlich.

Die Tools rund um Qt Ultralite lassen sich nun auch unter Linux nutzen.

(Bild: Qt Company)

Mit dem aktuellen Release können Linux-Entwicklerinnen und -Entwickler das Qt for MCUs SDK (Software Development Kit) verwenden und ihren QML-Code (Qt Modeling Language) nach C++ konvertieren. Außerdem können sie eine Preview ihrer Embedded-Anwendung auf Linux erstellen.

Bei den Zielplattformen ist ebenfalls ein Neuzugang zu vermelden: Traveo II von Infineon zielt vor allem auf Anwendungen im Automotive-Umfeld. Die Mikrocontrollerfamilie bietet eine 32-bit-ARM-Architektur. Offensichtlich ist Qt for MCUs von Infineon offiziell als Toolkit zertifiziert.

Unabhängig von den Plattformen bringt Version 1.9 eine neue API zum Erstellen individuell anpassbarer Komponenten mit. Die PaintedItem-API ermöglicht anders als die gut 40 Basiskomponenten das direkte Zeichnen in den Framebuffer. Sie bringt auf QML-Ebene den Typ PaintedItem und für C++ die Klasse PaintedItemDelegate mit. Als Einstiegshilfe existiert ein Beispielprojekt und eine speziell auf die Plattform Traveo II zugeschnittene Demoanwendung.

Schließlich führt QML nun die neue Property font.quality ein, über die Entwickler und Entwicklerinnen die Qualität der verwendeten Zeichensätze festlegen: Der Standard-Font benötigt acht Bits pro Pixel, während der neu eingeführte Low-Quality-Zeichensatz mit einem Bit pro Pixel auskommt, dafür aber auf Anti-Aliasing verzichtet. Mittelfristig sind Zwischenstufen geplant, die jeweils zwei, vier und sechs Bit pro Pixel benötigen.

Qt for MCUs: Mit oder ohne Betriebssystem auf dem Mikrocontroller

Qt for MCUs verbindet Qt Quick mit einer Laufzeitumgebung oder einer zusätzlichen RTOS-Schicht

(Bild: Qt Company)

Mit Qt for MCUs lassen sich Anwendungen erstellen, die direkt auf dem Mikrocontroller laufen. Das Framework setzt auf Qt Quick zum Erstellen von Nutzerschnittstellen mit QML (Qt Meta-object Language). Das Qt-Quick-Modul besitzt eine C++-API, um QML-Anwendungen mit C++-Code zu erweitern. Qt for MCUs enthält eine Reihe von Qt Quick Controls, also vorgefertigte Steuerelemente, die das Erstellen von Nutzerschnittstellen vereinfachen sollen.

Qt for MCUs, das seit Dezember 2019 allgemein verfügbar ist, lässt sich wahlweise direkt auf dem Prozessor oder auf einem Echtzeitbetriebssystem (Real-time Operating System, RTOS) betreiben. Für den Bare-Metal-Betrieb bringt Qt for MCUs eine eigene Laufzeitumgebung für Qt Quick mit, die sich in Kombination mit C++-Bibliotheken von Drittanbietern verwenden lässt.

Weitere Details zu Qt for MCUs 1.9 lassen sich dem Qt-Blog entnehmen. Das Release soll das letzte der 1.x-Reihe sein. Im Lauf des Jahres soll Version 2.0 erscheinen, die vor allem die Integration in individuelle Hardware vereinfachen soll. Eine 2.x-Variante soll zudem als LTS-Release (Long-term Support) erscheinen.

(rme)