Tutorial Qt für den Mikrocontroller, Teil 1: Minimalismus
Seite 3: Auf der Zielplattform
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.
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.
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.
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.