鸿鸥派板端QT移植教程
目录
1. QT源码下载
官网链接:https://download.qt.io/archive/qt/
2. QT源码编译
2.1. 解压QT源码
tar -xvf qt-everywhere-opensource-src-5.15.16.tar.xz2.2. 修改qmake
进入 qt-everywhere-src-5.15.16/qtbase/mkspecs/目录,复制一份 linux-aarch64-linux-gnu-g++为 aarch64-v01c01-linux-gnu-g++, 打开文件夹下面文件 qmake.conf, 将”aarch64-linux-gnu-” 替换为”aarch64-v01c01-linux-gnu-“, 如下图所示:

2.3. configure 配置
(1) 回到源码根目录, 新建 auto_build.sh 并添加以下配置:auto_build.sh


注意:以上配置做了一定的裁剪,可按需进行修改。
-prefix "$PWD"/Hi3519DV500_QT_INTASLL : 指定安装路径为源码目录Hi3519DV500_QT_INTASLL。
-xplatform aarch64-v01c01-linux-gnu-g++ : 指定编译器为aarch64-v01c01-linux-gnu-g++(2) 执行./auto_build.sh , 出现以下信息则说明配置没问题。

2.4. 编译与安装
源码目录执行 make && make insatll
make && make insatll 3. HIFB/GFBG 适配
参考文档以及代码:
ReleaseDoc\zh\01.software\board\MPP\GFBG 开发指南.pdf
ReleaseDoc\zh\01.software\board\MPP\GFBG API 参考.pdf
Hi3519DV500_SDK_V2.0.2.0/smp/a55_linux/source/mpp/sample/gfbg/sample_gfbg.cHIFB/GFBG 相关说明可参考以上文档,以下不进行详细描述,只总结以下两个要点:
- HIFB/GFBG 开启前,必须先打开 VO 设备。
- colorkey 功能能让 QT 层设置成配置的颜色时透明,从而达到显示视频层的效果。
3.1. 修改linuxfb插件
(1) 进入源码目录 qt-everywhere-src-5.15.16/qtbase/src/plugins/platforms,复制一份 linuxfb 并改名为 linuxfb_hi3519dv500

(2) 修改qlinuxfbscreen.cpp 代码进行以下修改:
a. 设置FB 输出大小

b. 在 initialize 函数中添加海思相关 HIFB/GFBG 配置,相关代码参考于Hi3519DV500_SDK_V2.0.2.0/smp/a55_linux/source/mpp/sample/gfbg/sample_gfbg.c



c. 绘制函数 doRedraw 中修改为对 HIFB/GFBG 画布更新

d. 析构函数 QLinuxFbScreen 释放相关资源

3.2. 编译
(1) linuxfb.pro 适配
a. 拷贝 HIFB/GFBG 相关库文件和头文件到qt-everywhere-src-5.15.16/qtbase/src/plugins/platforms/linuxfb_hi3519dv500 目录下,相关库文件和头文件可从 SDK 目录 Hi3519DV500_SDK_V2.0.2.0/smp/a55_linux/source/out 中获取,可以先一次性复制 lib 和 include 目录。
b. 修改linuxfb.pro 文件

c. 需要依赖的头文件和库

(2) 编译插件
进入 qt-everywhere-src-5.15.16/qtbase/src/plugins/platforms/linuxfb_ss928v100 目录,打开终端,执行下图命令,即可生成 makefile

执行 make 操作,即可在目录 qt-everywhere-src-5.15.16/qtbase/plugins/platforms 生成libqlinuxfb_hi3519dv500.so 文件。

4. 板端环境部署
4.1. 添加板端QT运行环境
板端/etc/profile 文件中添加 QT 运行环境
export QT_QPA_PLATFORM_PLUGIN_PATH=/opt/plugins
export LD_LIBRARY_PATH=/opt/lib/
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:size=1920x1080:offset=0x0:nographicsmodeswitch
export QT_QPA_FONTDIR=/opt/fonts注意:
a).size=1920x1080, 尽量与 libqlinuxfb_hi3519dv500.so 插件里 FBIOPUT_VSCREENINFO 设置的大小一致;
b).load3519dv500 中 gfbg.ko 参数配置, 参考 ReleaseDoc\zh\01.software\board\MPP\GFBG 开发指南.pdf 2.模块加载。

4.2. linuxfb 插件
拷贝libqlinuxfb_ss928v100.so 插件到板端/opt/plugins 目录下

4.3. QT依赖库
拷贝 QT 相关库到板端/opt/lib 目录下,仅拷贝测试验证相关库,如果程序中依赖了其他 QT 库,也需要拷贝到该目录下


4.4. 字库
拷贝字符文件到板端/opt/fonts 下,OPlusSans3-Medium.ttf 为一加开源免费使用的字库

5. 板端测试QT程序
(1) 修改并编译 QT 测试程序,以qt-everywhere-src-5.15.16/qtbase/examples/widgets/animation/moveblocks 为例。

(2) 在该目录下打开终端执行如下图命令, 生成 makefile,执行 make 生成可执行程序moveblocks

(3) 拷贝 moveblocks 到板端, 由于 HIFB/GFBG 的运行依赖 VO 设备的开启,板端需运行相关程序例如 sample_v io 打开 VO 设备。



fb插件未过滤颜色

代码修改后

代码修改前
- 分享
- 举报
暂无数据-
浏览量:1947次2025-03-25 13:16:24
-
浏览量:1383次2025-03-26 09:08:49
-
2026-03-20 18:35:28
-
浏览量:4739次2020-08-20 11:05:39
-
浏览量:1765次2025-01-16 21:26:58
-
浏览量:4068次2020-08-18 20:09:59
-
浏览量:1158次2023-11-17 18:14:30
-
浏览量:3005次2020-08-19 18:24:06
-
浏览量:2171次2023-09-01 13:29:58
-
浏览量:1108次2025-02-05 13:22:59
-
浏览量:2929次2020-08-20 11:19:28
-
浏览量:3944次2025-01-05 00:30:11
-
浏览量:886次2025-09-15 15:30:08
-
浏览量:26次2026-04-14 13:57:02
-
浏览量:3086次2024-02-18 17:07:58
-
浏览量:11943次2020-08-19 18:36:04
-
浏览量:2672次2024-06-06 09:47:33
-
浏览量:4922次2017-09-25 17:46:02
-
浏览量:10609次2020-08-18 20:20:36
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
易百纳技术社区
微信支付举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明

微信扫码分享
QQ好友