Embedded-Entwicklung: Qt for MCUs 1.5 führt neue API-Plattform ein
Mit dem Toolkit lassen sich Anwendungen für Mikrocontroller ohne Betriebssystemschicht entwickeln. Die aktuelle Version bietet umfassendere API-Unterstützung.
![](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/2/9/9/2/7/3/4/Trichter-7dc2189b1fa9dc46.jpeg)
- Silke Hahn
Rund elf Monate nach dem ersten Release ist Version 1.5 von Qt for MCUs (Mikrocontroller Units) erschienen. Wichtigste Neuerung an dem Framework zur Embedded-Entwicklung ist eine API-Plattform, die die Integration des Grafikframeworks auf jeglichem Mikrocontroller ermöglichen soll.
Flankierend bieten die Herausgeber einen Portierungsleitfaden an und einen neuen Satz C++-APIs, um Bilder zur Laufzeit in das jeweils verwendete QML GUI (General User Interface in der Qt Modeling Language) zu laden. Laut Ankündigung im Qt-Blog hat das Qt-Team zur Verbesserung der Stabilität außerdem die Schnittstellen überarbeitet und einige Probleme der Vorgängerversion behoben.
Die Vielzahl existierender und nun hinzukommender Chips für Embedded-Projekte erfordert offenbar die laufende Erweiterung der Unterstützung von Mikrocontrollern seitens Qt: Mit dem Release von Version 1.5 kündigt das Qt-Team an, künftig kontinuierlich neue MCUs zu unterstützen. Aufgrund hochauflösender Displays und der Weiterentwicklung der Hardware gilt es laut Blogeintrag, auch die Nutzeroberflächen laufend anzupassen. Mit der neuen API-Plattform zielt Qt nach eigenen Angaben darauf ab, auch bislang noch nicht unterstützte Chips mittels einer Portierfunktion durch Qt Quick Ultralite auf die Plattform zu holen. Qt for MCUs 1.5 führt eine Reihe von APIs ein, die diese Integration ermöglichen sollen.
Die Plattform umfasst zwei Komponenten, den Namensraum der Plattform mit den Funktionen der Qt Quick Ultralite Engine und den Namensraum des Plattform-Interface, in dem die APIs Entwicklern zur Verfügung stehen. Das SDK des Grafikframeworks enthält den Quellcode aller möglichen Plattformanpassungen, allerdings müssen Entwickler wohl in der Regel nicht sämtliche Funktionen, die die Plattform bereithält, implementieren, sondern können sich zum Adaptieren selektiv auf die Anpassungen beschränken, die ihr Embedded-Projekt erfordert.
Eine umfangreiche Dokumentation zu Qt for MCUs 1.5 bietet Unterstützung beim Portieren und erklärt, welche Voraussetzungen man benötigt, wie man Graphiken auf den Bildschirm bekommt und wie man die Plattform im Qt Creator nutzt. Nützlich könnte auch die im SDK neu ergänzte Demo-Plattform sein, die als einfache Referenz für Standardfälle dient. Als weitere Neuerung hat das Qt-Team eine Image-C++-Klasse ergänzt, die Entwickler zum Verpacken von Rohbilddaten verwenden können. Mehr dazu finden Interessierte im Portierungsleitfaden.
Qt for MCUs kurz erklärt
Mit Qt for MCUs lassen sich Anwendungen erstellen, die direkt auf der MCU laufen – das Kürzel steht für einen Halbleiterchip mit Prozessor und Peripheriefunktionen, der Arbeits- und Programmspeicher als Ein-Chip-Computersystem vereint. Mit einem Qt Creator und Qt Quick Designer können Entwickler Anwendungen dafür bauen und existierende Qt-Quick-Anwendungen für den Einsatz auf Mikrocontrollern portieren. Wahlweise läuft Qt for MCUs auf einem Echtzeitbetriebssystem oder direkt auf dem Prozessor im Bare-Metal-Betrieb.
Anwendungsbereich sind eingebettete Systeme: Mikrocontroller trifft man im Alltag in technischen Gebrauchsgegenständen wie Waschmaschinen, Chipkarten, Unterhaltungselektronik, Mobiltelefonen und Uhren an, darüber hinaus auch in allen Computer-Peripheriegeräten wie Tastatur, Maus, Scanner, Drucker und Monitor. Mikrocontroller sind nicht identisch mit Mikroprozessoren, auch wenn die Grenze fließend verläuft und manche Mikrocontroller durch Peripheriebausteine auch eine Mikroprozessor-Architektur umfassen.
Weiterführende Hinweise
Details zum aktuellen Release des Grafikframeworks Qt for MCUs lassen sich dem Blogeintrag bei Qt entnehmen. Dort finden Neugierige auch eine kurze Videodemo mit einem Fallbeispiel. Die gesamten Änderungen sind in der Qt-Dokumentation am übersichtlichsten aufgeführt. Bei Qt for MCUs handelt es sich um ein kommerzielles Programm, der Anbieter stellt im Downloadbereich auch eine kostenlose Testversion zur Verfügung.
[Update vom 29.10.2020] Wichtig ist in diesem Zusammenhang der Hinweis auf ein neues Abomodell, das die Qt Company laut betroffenen Kunden einzuführen gedenkt. Bislang gab es drei Optionen: Neben dem Abo existierte eine Perpetual License und ein Open-Source-Ansatz gemäß GNU Lesser General Public License. Offenbar plant das Unternehmen, ab dem kommenden Qt-Release den Long-term Support für die quelloffene Version einzustellen und Open-Source-Releases gegenüber der kommerziellen Variante mit deutlicher Verzögerung auszuliefern. Derzeit wirkt die Preispolitik des Anbieters wenig transparent, für betroffene Unternehmen birgt die Änderung womöglich ein geschäftliches Risiko. Weitere Details lassen sich einer Meldung von heise Developer zum künftigen Abomodell beim Framework Qt 6 entnehmen.
(sih)