Ben*_*row 12 c++ qt jit qml raspberry-pi
我和我的朋友正在研究由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需要,以及在Pi上运行的Raspbian Jessie的HardFP配置.所以现在我认为如果我让交叉编译器使用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
Run Code Online (Sandbox Code Playgroud)
(此配置不起作用)
我使用以下参数配置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
Run Code Online (Sandbox Code Playgroud)
我希望你们在解决这些问题上比我聪明,因为我认为我尽一切努力使JIT正常工作.
如果这个问题无法解决会很糟糕,因为Qt-QML对于像PI这样的嵌入式设备来说是一个非常合适的GUI解决方案,而八个RP中的六个正在运行这个旧的ARMv6 CPU.
先感谢您
Ric*_*Pat -1
我对你的具体问题了解不够,但我建议:
我建议您使用 Boot2Qt,它是 yocto-linux 版本,专为嵌入式硬件设计。有了它,您将获得一个轻量级 Linux 发行版和所有 Qt 库。
您可以方便地将应用程序设置为在启动时启动,即使在速度较慢的硬件上,它也能表现良好。这是构建它的文档:
http://doc.qt.io/QtForDeviceCreation/qtee-custom-embedded-linux-image.html
该网址是关于商业产品的,但您可以在下面的存储库中获取源代码。否则请遵循文档的说明。
git clone git://code.qt.io/yocto/meta-boot2qt.git
Run Code Online (Sandbox Code Playgroud)
你需要一个 Linux 操作系统来构建。Ubuntu 16 和 18 对我来说效果很好。
Boot2Qt 与 R-PI 1-3、零和许多其他设备兼容。请参阅文档以获取更完整的列表。
归档时间: |
|
查看次数: |
942 次 |
最近记录: |