当前位置: 首页 > news >正文

基于 RV1126B 评估板的 GUI 应用开发实战(一)

前 言

本文档提供基于Qt和LVGL的图形用户界面(GUI)的开发说明。包括组件支持情况,开发流程和基础案例。

备注:LVGL相关功能正在开发中。

Qt和LVGL在跨平台支持和开源特性上有相似之处,但在目标平台、资源占用、编程语言、功能丰富度、授权方式和应用场景等方面存在明显差异,具体如下。

开发环境

Windows开发环境:Windows10 64bit

Linux开发环境:VMware16.2.5、Ubuntu22.04 64bit

LinuxSDK开发包:LinuxSDK-[版本号](基于rv1126b_linux6.1_release_v1.2.0)

应用开发交叉编译工具链:aarch64-buildroot-linux-gnu-gcc(版本为13.4.0,通过LinuxSDK编译生成)

U-Boot开发、内核开发:gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu

评估板系统版本:U-Boot 2017.09、Linux-6.1.141、Buildroot-2024.02

Qt版本:5.15.11

LVGL版本:9.1

备注:本文基于16GByte eMMC、2GByte LPDDR4X配置核心板进行演示。

术语表

为便于阅读,下表对文档出现的关键术语进行解释;对于广泛认同释义的术语,在此不做注释。

注意事项

本文默认硬件连接说明如下:

(1)供电连接:使用Type-C线将评估板的POWER IN(CON5)接口连接至快充适配器,再将适配器接入电源,为评估板供电。

(2)显示连接:通过HDMI OUT接口连接显示设备,实现图像输出。

(3)调试串口连接:使用Type-C线将USB TO UART0调试串口连接至PC主机。

(4)网络连接:将评估板ETH1 RGMII网口通过路由器与PC机接入同一局域网。

(5)系统启动方式:通过板载eMMC存储介质启动系统。

1 Qt开发说明

Qt开发环境主要包括Qt Creator工具、X86端Qt环境、ARM端Qt环境、交叉编译工具链等。当用户使用Qt Creator工具和X86端Qt环境编写并编译Qt工程后,生成的Qt程序镜像仅可在X86端运行。必须使用适配评估板的ARM端Qt环境、交叉编译工具链编译Qt工程,生成的Qt程序镜像方可在ARM端(即评估板)上正常运行。

LinuxSDK开发包中已提供适配评估板的ARM端Qt环境(5.15.11),请先参考《开发环境搭建》和《Linux系统开发手册》安装、编译LinuxSDK,构建适配评估板的交叉编译工具链和qmake工具。可基于命令行或Qt Creator工具对已有Qt工程进行编译,生成ARM端Qt程序镜像。

我司提供的Qt工程位于产品资料“4-软件资料\Demo\qt-demos\”目录下,其中src目录下包含Qt工程源码,bin目录下包含ARM端Qt程序镜像。请将整个qt-demos文件夹拷贝至Ubuntu工作目录下,如下图所示。

1.1基于Qt Creator开发

1.1.1安装Qt Creator工具

Qt Creator是一款专为Qt框架设计的跨平台集成开发环境(IDE),提供代码编辑、调试、项目管理和界面设计等功能,支持高效开发Qt应用程序。

执行如下命令,安装Qt Creator。

Host#sudo apt install qtcreator

执行如下命令,查看Qt Creator版本。

Host#qtcreator -version

执行如下命令,安装GNU调试器。

Host#sudo apt install gdb-multiarch

执行如下命令,查看调试器版本。

Host#gdb-multiarch --version

执行如下命令,加载环境变量。

Host#source /home/tronlong/RV1126B/aarch64-buildroot-linux-gnu_sdk-buildroot/environment-setup

1.1.2配置交叉编译工具链

执行如下命令,启动Qt Creator。

Host#qtcreator

启动Qt Creator工具后,点击菜单栏"Tools -> Options…"。

点击"Kits",打开配置选择页面。

点击"Compilers -> Add -> GCC -> C++ -> Browse…",选择平台交叉编译工具链中的aarch64-buildroot-linux-gnu-g++,然后点击Open确认。具体路径为:

/home/tronlong/RV1126B/aarch64-buildroot-linux-gnu_sdk-buildroot/bin/aarch64-buildroot-linux-gnu-g++

选择后,Name修改为"RV1126-GCC",ABI选择"arm-linux-generic-elf-64bit",再点击Apply,如下图所示。

1.1.3配置Debuggers

点击"Debuggers -> Add -> Browse…",选择GNU调试器,然后点击Open确认。具体路径为:

/usr/bin/gdb-multiarch

选择后,Name修改为"gdb-multiarch",再点击Apply,如下图所示。

1.1.4配置Qt Versions

点击"Qt Versions -> Add",选择平台qmake,然后点击Open确认。具体路径为:

/home/tronlong/RV1126B/aarch64-buildroot-linux-gnu_sdk-buildroot/bin/qmake

选择后,Version name修改为"RV1126-qt5"再点击Apply,如下图所示。

1.1.5配置Kits

请参照下图配置Kits各选项。点击"Kits -> Add",将Name修改为"RV1126",Device type选择"Generic Linux Device",Compiler的C++选择"RV1126-GCC",Debugger选择"gdb-multiarch",Qt version选择"RV1126-qt5",点击Apply,然后点击OK完成配置。

1.1.6编译Qt工程

本章节使用led_control案例演示编译Qt工程。

请在Qt Creator界面,点击"Open"。

选中Qt工程源码目录中.pro文件,点击Open。

勾选RV1126平台Kits,点击"Browse…"选择Qt程序镜像生成的路径,选择好后点击"Open",如下图所示。

点击"Configure Project"进行工程配置,如下图所示。

右击Qt工程,点击Build进行Qt工程编译,生成可在评估板上正常运行的ARM端Qt程序镜像,如下图所示。

编译完成后,将生成可在评估板上运行的ARM端Qt程序镜像,如下图所示。

http://www.cnnetsun.cn/news/2599873.html

相关文章:

  • GRID32.OCX文件丢失找不到问题解决
  • AI视频生成里的角色一致性问题:为什么同一个人会越生成越不像?
  • OPENCODE+spec-kit安装
  • Outfit字体:9种字重+可变字体,打造品牌视觉统一性的终极解决方案
  • 如何在Android设备上实现钉钉虚拟定位:XposedRimetHelper完全指南
  • AcWing 2189:有源汇上下界最大流 ← Dinic算法
  • 论文查重竟然能免费?书匠策AI这个功能太香了,毕业党必看!
  • 紫垣商驿三轴试验数据处理软件
  • Modelsim和Vivado仿真器下,Testbench文件编写有哪些“坑”?我总结了3个避雷点
  • 从零打造可落地的直流电机 PID 驱动系统 (十四):编码器测速原理与速度环阶跃响应实测
  • VCAM虚拟相机:安卓摄像头替换的终极解决方案深度解析
  • 基于簇稀疏贝叶斯学习的混合大规模MIMO信道估计技术解析
  • 通过AntiDupl实现智能图片去重的高效方案
  • 双GAN融合与最大值策略:提升广义零样本动作识别的多模态特征生成
  • 钉钉消息防撤回补丁:职场沟通的终极信息保护方案
  • 五分钟教程使用Python在Taotoken上调用GPT模型
  • 通信网络领域SCI期刊JCN投稿全指南:从研究定位到录用策略
  • 基于RSSI方差的室内Wi-Fi指纹定位优化算法VFDA详解
  • 情境感知与自适应学习:UTROLL/KANTEAM移动语言学习系统架构解析
  • 5个技巧彻底改变你的Windows文件管理方式:QTTabBar完全指南
  • 模型广场功能详解如何为你的项目挑选合适的大模型
  • V模型驱动风电控制:从Simulink到STM32的DPC-PI算法工程化实践
  • 边缘AI实战:轻量级模型SqueezeNet与推理框架选型部署指南
  • 如何永久保存微信聊天记录?WeChatMsg年度报告生成终极指南
  • LeetDown技术解析:基于checkm8漏洞的iOS设备降级解决方案
  • 动态目标跨镜无缝接力追踪技术——军营出入口智能管控场景中的空间智能应用白皮书
  • 船载无人机自主降落:YOLOv8改进与多传感器融合实战
  • 2026 年广州专业 GEO 公司推荐
  • μSEDA:动态物联网群组认证方案,应对恶意节点与拓扑变化
  • 如何永久保存微信聊天记录?WeChatMsg完整指南:从备份到年度报告生成