[英]Qt-QML JIT on Raspberry PI Rev. 1
我和我的朋友正在研究由Raspberry PI B +和一个小触摸屏驱动的便携式互联网收音机。 我正在使用Qt-5.9开发接口,我已经为PI的ARMv6 CPU交叉编译了。 我的界面正在使用QML,所以当我启动我的应用程序时,每一个工作但QML动画都是滞后的。 因此,控制台告诉我QML JIT未启用( 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.
)所以我查看了关于V4引擎的给定页面,经过大约两周的试用,我发现问题是缺少使用Thumb-1指令集的可能性,这是V4和HardFP所需要的。在Pi上运行的Raspbian Jessie的配置。 所以现在我认为如果我让交叉编译器使用Thumb-1集合它会工作。 我尝试了很多,最后我遇到了两个问题。
-mthumb
标志时,我收到此错误: sorry, unimplemented: Thumb-1 hard-float VFP ABI
。 我需要Thumb-1,我不能改变整个操作系统的Hard-Float实现,并且ARMv6没有合适的编译器标志来禁用VFP。 -mthumb-interwork
标志时,编译工作,但可执行文件不会因ABI设置而改变( https://gcc.gnu.org/onlinedocs/gcc-4.8.5/gcc /ARM-Options.html#ARM-Options )(- -mthumb-interwork: ... In AAPCS (the ABI) configurations this option is meaningless.
)。 我尝试了所有可能的ABI但没有一个工作并编译正在运行的程序。 我也读过关于RPi的一些补丁,但很久以前它们被包含在上游Qt中。
我稍微修改了编译器参数(文件:QT / qtbase / mkspecs / devices / linux-rasp-pi-g ++ / qmake.conf):
QMAKE_CFLAGS += \
-mthumb \
-mfpu=vfp \
-mtune=arm1176jzf-s \
-march=armv6zk \
-mabi=aapcs-linux
(此配置不起作用)
我使用以下参数配置QT:
./configure -release -opengl es2 -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot ~/raspi/sysroot -opensource -confirm-license -skip webengine -make libs -no-icu -tslib -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -v
我希望你们在解决这些问题上比我聪明,因为我认为我尽一切可能让JIT正常工作。
如果这个问题无法解决会很糟糕,因为Qt-QML对于像PI这样的嵌入式设备来说是一个非常合适的GUI解决方案,而八个RP中的六个正在运行这个旧的ARMv6 CPU。
先感谢您
我对你的具体问题了解不多,但我建议:
我建议你使用Boot2Qt,这是一个yocto-linux版本,专为嵌入式硬件而设计。 有了它,您将获得一个轻量级的Linux发行版和所有Qt-Libraries。
您可以方便地将应用程序设置为在启动时启动,即使在慢速硬件上也能很好地运行。 这是关于构建它的文档:
http://doc.qt.io/QtForDeviceCreation/qtee-custom-embedded-linux-image.html
这个网址是关于商业产品的,但你可以在下面的回购中找到来源。 否则,请按照文档的说明进行操作。
git clone git://code.qt.io/yocto/meta-boot2qt.git
您将需要一个Linux操作系统来构建。 Ubuntu 16和18对我来说效果很好。
Boot2Qt与R-PI 1-3,Zero和许多其他设备兼容。 有关更完整的列表,请参阅文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.