Qt-QML JIT auf Himbeer PI Rev. 1

8

Ich und mein Freund arbeiten an einem tragbaren Internet-Radio, das von einem Raspberry PI B + und einem kleinen Touchscreen gesteuert wird. Ich entwickle die Schnittstelle mit Qt-5.9, die ich für die ARMv6-CPU des PI kompiliert habe. Meine Oberfläche benutzt QML, also wenn ich meine App starte, funktioniert alles, aber die QML-Animationen sind nacheilend. Dementsprechend sagt mir die Konsole, dass der QML JIT nicht aktiviert ist ( JIT is disabled for QML. Property bindings and animations will be very slow. Visit https://wiki.qt.io/V4 to learn about possible solutions for your platform. ), also habe ich auf der gegebenen Seite über die V4 Engine nachgeschlagen und nach rund zwei Wochen Ausprobieren habe ich herausgefunden, dass das Problem die fehlende Möglichkeit ist Verwenden des Thumb-1-Befehlssatzes, der von V4 benötigt wird, und der HardFP-Konfiguration der Raspbian Jessie, die auf dem Pi läuft. So, jetzt denke ich, es würde funktionieren, wenn ich den Cross-Compiler dazu bringe, mit dem Thumb-1-Set zu arbeiten. Ich habe viel ausprobiert und am Ende habe ich zwei Probleme.

  1. Wenn ich das Flag -mthumb in der Befehlszeile verwende, erhalte ich folgende Fehlermeldung: sorry, unimplemented: Thumb-1 hard-float VFP ABI . Ich brauche den Thumb-1, ich kann die Hard-Float-Implementierung des gesamten Betriebssystems nicht ändern und es gibt kein geeignetes Compiler-Flag für ARMv6, um VFP zu deaktivieren.
  2. Wenn ich das -mthumb-interwork -Flag in der Befehlszeile verwende, funktioniert die Kompilierung, aber die ausführbare Datei ändert sich nicht aufgrund der ABI-Einstellung ( Ссылка ) (%Code%). Ich habe jede mögliche ABI versucht, aber keine funktioniert und kompiliert ein laufendes Programm.

Ich habe auch einige Patches für das RPi gelesen, aber sie wurden schon vor langer Zeit in das Upstream-Qt aufgenommen.

Ich habe die Compiler-Argumente ein wenig modifiziert, um sie auszuprobieren (Datei: QT / qtbase / mkspecs / devices / linux-rasp-pi-g ++ / qmake.conf):

%Vor%

(Diese Konfiguration funktioniert nicht)

Ich habe QT mit den folgenden Argumenten konfiguriert:

%Vor%

Ich hoffe, ihr seid klüger als ich bei der Lösung dieser Probleme, weil ich glaube, dass ich alles versucht habe, um das JIT zum Laufen zu bringen.

Es wäre schlecht, wenn dieses Problem nicht lösbar wäre, weil Qt-QML eine sehr geeignete GUI-Lösung für eingebettete Geräte wie PI ist und sechs von acht RPis diese alte ARMv6-CPU betreiben.

Vielen Dank im Voraus

    
Benjamin Zastrow 31.07.2017, 19:04
quelle

0 Antworten

Tags und Links