Tutorial Qt für den Mikrocontroller, Teil 1: Minimalismus

Seite 3: Auf der Zielplattform

Inhaltsverzeichnis

Für die folgenden Schritte wird das Evaluierungs-Board STM32F769 Discovery Kit benötigt. Die Qt Company unterstützt noch eine Reihe anderer STM-Platinen, die jedoch häufig die Installation eines Bootloader erfordern.

Da der STM32F769 der neueren Generation der STM-Demo-Boards angehört, setzt er auf MicroUSB statt MiniUSB zum Verbinden mit dem Rechner. Auf der Unterseite (s. Abb. 5) finden sich zwei USB-Ports, von denen nur der mit USB ST_LINK gekennzeichnete das Aufspielen von Code ermöglicht.

Beim Anschließen gilt es, den richtigen USB-Port zu verwenden (Abb. 5).

Das erste Verbinden eines neuen Boards mit einer Stromquelle startet eine umfangreiche Demoanwendung. Sie implementiert neben einem Media Player und einem VNC-Server auch eine Gruppe kleinerer Applikationen auf Basis des ST-hauseigenen Grafik-Stacks Graupner.

Das Auswählen des Qt-Kits für den Mikrocontroller in Qt Creator, um das Übertragen der Qt-Quick-Ultralite-Applikation vorzubereiten, stößt zunächst ein erneutes Kompilieren der Anwendungen an. Ein weiterer Klick auf das Play-Symbol überträgt die Applikation auf das Board. Das Kit graut den Debug-Knopf aus, da es derzeit kein Debugging von Qt-for-MCUs-Applikationen ermöglicht.

Sobald sich der Tab Ausgabe rot färbt, zeigt er beim Öffnen die Statusausgabe. Wichtig ist vor allem, dass Qt Creator etwa in folgender Art über die erfolgreiche Einrichtung der Anwendung informiert:

RUNNING Program ...
Address: : 0x8000000
Application is running
Start operation achieved successfully

Vor dem detaillierten Blick auf die Architektur, sei noch auf eine für die Embedded-Entwicklung wichtige Eigenart hingewiesen: Wer eine Anwendung über eine laufende Version der ST-Demosoftware installiert, sieht übrig gebliebene grafische Artefakte (s. Abb. 6), die sich auch durch mehrfaches Drücken der Resettaste nicht beseitigen lassen.

Die Artefakte unter dem Formular stammen aus dem Framebuffer (Abb. 6).

Daher sollten Entwickler zunächst die Platine vom Strom trennen und sie auf die Weise hart neu starten, um das in Abbildung 7 gezeigte Ergebnis zu sehen.

Ein kompletter Neustart sorgt für Ruhe: Statt Artefakten erscheint ein zufälliges Pattern.

Ursache des auf den ersten Blick verwirrenden Verhaltens ist, dass das auf dem Evaluationsboard verbaute Display einen eigenen Framebuffer-Speicher mitbringt. Dieser muss komplett geleert werden, was die Firmware von Haus aus unterlässt. Ein Reset des Hauptprozessors betrifft den Inhalt des Framebuffers nicht, sofern das Verhalten nicht explizit in der Firmware implementiert ist.