Qt-GUI auf STM32: Effiziente eingebettete Anwendungen entwickeln

Eingebettete Geräte
2025-03-13
5 Minuten
Qt-GUI auf STM32: Effiziente eingebettete Anwendungen entwickeln

Produkte aus der STM32-Familie sind seit langer Zeit ein beliebtes Ziel für eingebettete Qt-Anwendungen. Eine der beliebtesten Optionen war über lange Zeit das MPU aus der STM32MP1-Serie. Die Boards dieser Familie bieten unter anderem die Möglichkeit, ein vollständiges Linux-System auszuführen. Das bedeutet einfach Komfort und großartige Möglichkeiten zur Entwicklung fortschrittlicher eingebetteter Systeme.

Allerdings erwiesen sich diese Boards nach einiger Zeit in vielen Projekten als unzureichend. Als Experten für Qt-Entwicklung entwickeln wir eingebettete Systeme und deren grafische Benutzeroberflächen für verschiedene Boards, und mehr als einmal hatten wir Probleme mit der Leistung des STM32MP1, insbesondere bei Bildschirmen mit höherer Auflösung.

Auf der Embedded World 2025 in Nürnberg präsentierte STMicroelectronics unter anderem die neue STM32MP2-Familie mit unserer Anwendung als Beispiel für die Entwicklung von Qt-GUIs auf STM32-Produkten. Wir fanden, dass dies eine großartige Gelegenheit war, Ihnen die Welt der Anwendungsentwicklung auf ST-Produkten näherzubringen.

 

Qt-GUI-Demo von Scythe Studio am Stand von STMicroelectronics
Qt-GUI-Demo von Scythe Studio am Stand von STMicroelectronics

 

Qt auf STM32 – Mehr als nur hübsche grafische Benutzeroberflächen

Die STM32-Familie von Mikroprozessoren (MPUs) und Mikrocontrollern (MCUs) bietet eine leistungsstarke Plattform für die Embedded-Entwicklung. In Kombination mit Qt können Entwickler reichhaltige, interaktive und visuell ansprechende grafische Benutzeroberflächen erstellen und gleichzeitig die Energieeffizienz und Rechenleistung von STM32 nutzen. Durch die plattformübergreifende Natur von Qt können Anwendungen nahtlos auf verschiedenen Betriebssystemen ausgeführt werden.

Qt ist ein vollständiges Grafik-Framework für die Erstellung plattformübergreifender Anwendungen und eingebetteter Software. Es kann auf einer Vielzahl von Geräten ausgeführt werden, darunter Mikrocontroller, Mikroprozessoren, Minicomputer, Mobilgeräte und andere Desktop-Plattformen. Qt enthält zudem nützliche Tools wie Qt Creator oder Qt Design Studio, die die Entwicklung von Embedded-Systemen erheblich beschleunigen können.

Falls Sie Qt und seine Möglichkeiten nicht gut kennen, werfen Sie einen Blick auf unseren anderen Artikel Was ist Qt und wie erstellt man damit eine GUI?.

Die wichtigsten Vorteile der Verwendung von Qt auf STM32-Geräten sind:

 

  • Hardware-Beschleunigung: Qt nutzt OpenGL und Vulkan, wo verfügbar, um eine flüssige Grafikdarstellung für erstklassige GUI-Entwicklung zu ermöglichen.
  •  

  • Skalierbarkeit: Funktioniert sowohl auf MCU- als auch auf MPU-Architekturen und ermöglicht eine breite Palette von Geräteleistungsfähigkeiten.
  •  

  • Schnelle Entwicklung: Die Kombination aus QML und C++ in Qt beschleunigt die UI/UX-Entwicklung bei gleichzeitiger Wahrung der Leistung.
  •  

  • Umfangreiche Inhalte: Qt bietet eine Fülle von Modulen und Funktionen sowohl in der Open-Source- als auch in der kommerziellen Version. Neben GUI-Programmierung bietet es auch 3D-Module und fortschrittliche Konnektivitätsfunktionen.

 

STM32MP1 vs. STM32MP2: Was ist neu?

Die STM32MP2-Serie wurde im Oktober 2023 angekündigt und 2024 öffentlich verfügbar gemacht. STMicroelectronics präsentierte sie als ein längst überfälliges Upgrade zur STM32MP1-Serie, das Leistungsfähigkeit, Effizienz und neue Funktionen verbessert. Würde ich heute ein neues Embedded-Projekt starten, würde ich nicht einmal über STM32MP1 nachdenken, da die neue Linie viel zukunftssicherer ist. Das macht wirklich einen Unterschied.

 

STM32MP257F-DK, Quelle: https://www.st.com/en/evaluation-tools/stm32mp257f-dk.html
STM32MP257F-DK, Quelle: https://www.st.com/en/evaluation-tools/stm32mp257f-dk.html

 

Erste Schritte mit Qt auf STM32

Hier erkläre ich Ihnen, wie wir in der Regel mit eingebetteten GUI-Projekten auf STM32-Produkten beginnen. Um mit Qt auf einem STM32-Gerät zu arbeiten, benötigen Sie:

 

  1. Hardware: Ein STM32MP2- oder STM32MP1-Entwicklungsboard. Wenn Sie ein neues Projekt starten, würde ich Ihnen das STM32MP257F-DK empfehlen. Es handelt sich um ein Discovery-Board, das sich hervorragend für Prototypen eignet. Oft benötigen Kunden nach der Prototyping-Phase ein maßgeschneidertes Board mit spezifischen Ressourcen, Form, Größe und Schnittstellen für ihr Produkt. In solchen Fällen arbeiten wir mit zuverlässigen Partnern zusammen, um maßgeschneiderte Carrier-Boards zu entwerfen und passende Yocto-Linux-Images vorzubereiten.
  2.  

  3. Software Development Kit (SDK): STMicroelectronics stellt eine sehr gute Dokumentation bereit. Sie benötigen das SDK für die OpenSTLinux-Distribution, das im ST-Wiki beschrieben ist.
  4.  

  5. Qt-Entwicklung: Zur Entwicklung von Qt-Anwendungen benötigen Sie die OpenSTLinux Qt-Erweiterung (X-LINUX-QT), die Bibliotheken und Beispiel-GUIs enthält.
  6.  

  7. Entwicklungsumgebung: Sie benötigen zudem:
    • Eine IDE wie Qt Creator für effiziente Programmierung.
    • Cross-Compiling-Tools für ARM-basierte STM32-Geräte.

 

Berücksichtigung der Betriebssystemebene

STM32MPUs laufen in der Regel mit OpenSTLinux, während STM32MCUs FreeRTOS oder Bare-Metal-Firmware verwenden. Qt kann effizient auf Linux-basierten STM32MPUs ausgeführt werden, während Qt for MCUs eine leichte GUI-Alternative für Mikrocontroller bietet.

Benötigen Sie Qt for MCU? Nicht unbedingt. Wenn Sie mit einer STM32MPU arbeiten, können Sie die vollständige Qt-Version nutzen. Falls Ihr Projekt jedoch einen MCU mit begrenzten Ressourcen umfasst, bietet Qt for MCU eine optimierte Möglichkeit zur Bereitstellung grafischer Benutzeroberflächen. Mehr dazu haben wir in unserem Blogbeitrag Qt for MCU behandelt. Beachten Sie, dass Qt for MCU Teil der kommerziellen Qt-Lizenz ist, aber für Projekte wie Unterhaltungselektronik äußerst nützlich sein kann.

Falls erforderlich, können Sie mit Yocto Ihr eigenes Embedded-Linux-Distribution auf Basis der Meta-Layer von ST erstellen. Dabei müssen Sie jedoch die Lizenzen von OpenSTLinux einhalten.

Sie können auch ein Echtzeitbetriebssystem wie FreeRTOS oder Zephyr verwenden, aber diesen Punkt lassen wir in diesem Artikel aus.

 

Eingebettete Geräte in Aktion: Qt-Framework und STM32-Anwendungen

Auf der Embedded World 2025 stellte STMicroelectronics unsere Brain Viewer-Qt-Demo-Anwendung an ihrem Stand an zwei Standorten vor. Diese hochmoderne Qt-Anwendung läuft auf dem STM32MP257 und nutzt dessen erweiterte 3D-Grafikfunktionen.

 

Adam Sowa - CTO von Scythe Studio, der unsere Demo auf dem ST-Stand vorstellt
Adam Sowa – CTO von Scythe Studio, der unsere Demo auf dem ST-Stand vorstellt

 

Die Brain Viewer-Anwendung ist ein Visualisierungstool, das ein 3D-Modell des menschlichen Gehirns rendert und für medizinische Anwendungen konzipiert wurde. Sie läuft auf dem STM32MP2 und demonstriert:

 

  • Flüssiges 3D-Rendering mit hoher Leistung.
  •  

  • Intuitive UI/UX basierend auf QML von Qt.
  •  

  • Echtzeit-Interaktion mit medizinischen Datensätzen, was die Leistungsfähigkeit von Qt auf Embedded-Geräten hervorhebt.

Weitere Informationen zu unserem Brain Viewer-Projekt finden Sie hier: Brain Viewer 3D Qt GUI App.

 

3D-Modell des menschlichen Gehirns, präsentiert im Brain Viewer
3D-Modell des menschlichen Gehirns, präsentiert im Brain Viewer

 

Ein Blick in die Zukunft: Qt 6 und die Weiterentwicklung von STM32

Für uns ist es eine große Ehre, dass ST unsere fortschrittliche Qt 3D-GUI auf ihrer neuen Plattform präsentierte. Dies motiviert uns als Entwicklerteam, unsere Demos weiterzuentwickeln und unsere Zusammenarbeit mit ST sowie dem Qt Group Unternehmen, unserem langjährigen Partner, weiter zu intensivieren.

Die Boards von ST eignen sich besonders für die Entwicklung verschiedener Embedded-Systeme, insbesondere in den Bereichen Industrieautomation, Medizintechnik und Unterhaltungselektronik.

Kontaktieren Sie uns, wenn Sie Unterstützung bei der Entwicklung von Embedded-Lösungen mit Qt-GUI benötigen.

Scythe-Studio - Chief Executive Officer

Łukasz Kosiński Chief Executive Officer

Brauchen Sie Qt QML-Entwicklungsdienste?

service partner

Kommen wir zur Sache: Es ist eine Herausforderung, Top-Qt-QML-Entwickler zu finden. Helfen Sie sich selbst und starten Sie die Zusammenarbeit mit Scythe Studio – echten Experten im Qt C++ Framework.

Entdecken Sie unsere Fähigkeiten!

Neueste Artikel

[ 154, 156 ]