QT在Linux嵌入式设备上的系统配置

qt是目前主流的ui界面设计软件之一,linux系统也支持qt应用,并且提供了很多方便的接口。所以有必要记录一下基于qt,在lcd屏幕上实现ui界面功能的各种细节。
1. 系统配置
出于方便,我采用的是正点原子提供的出厂系统,里面已经安装并配置好了qt,可以直接烧写qt程序进行功能实现。
里面已经写入了正点原子的出厂ui界面,所以接下来需要对其进行修改。
2. 配置qt creator
交叉编译工作的安装参考正点原子的相关文档,这里不再赘述。
启动
启动的时候需要加载交叉编译器,所以需要在qtcreator.sh中插入对应指令
sudo vi /opt/qt5.12.12/tools/qtcreator/bin/qtcreator.sh # 以自己电脑的qt安装路径为准
在第一行插入以下指令
source /opt/st/stm32mp1/3.1-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
启动的时候采用以下指令(也可以将其写入到.sh文件便于启动)
/opt/qt5.12.9/tools/qtcreator/bin/qtcreator.sh &
编译器配置
新建项目,并选择以下的编译套件
编译
远程调试
配置linuxfb/eglfs方式调试(只需修改command line arguments 为 linuxfb或eglfs)
注意:upload files via sftp这一步也要添加,否则不会自动上传新代码至开发板
注意:linuxfb采用纯软件渲染,eglfs采用gpu渲染,后者显示会更流畅。
不过eglfs只有在采用emmc启动linux内核和根文件系统时可用,对于远程网络调试只能使用linuxfb方式。
配置完成后,运行程序的时候,qt creator会把程序发送至开发板,然后开始运行。
ubuntu本机调试
3. 修改内核启动logo
(1)修改logo显示源码
修改fbcon.c文件下的fbcon_prepare_logo函数
修改fbmem.c下的fb_show_logo_line函数
(2)准备一张适配屏幕大小的.png图片
(3)使用netpbm图像转换库处理图片
pngtopnm logo.png > logo.pnm # 转换格式pnmquant 224 logo.pnm > logo_224.pnm # 修改颜色通道数量pnmtoplainpnm logo_224.pnm > logo_linux_clut224.ppm # 转换格式 **(4)将文件放置在指定路径 **
sudo cp logo_linux_clut224.ppm 内核路径/drivers/video/logo
重新编译内核后,使用新的内核启动开发板即可。
4. 配置自启动ui界面
关闭正点原子的出厂ui服务
systemctl disable atk-qtapp-start.service # 执行此项关闭qt桌面服务,下次启动不生效systemctl enable atk-qtapp-start.service # 执行此项开启qt桌面服务systemctl stop atk-qtapp-start.service # 暂时停止qt桌面服务,重启服务用restart 启动ui界面指令
/usr/local/test -platform linuxfb # 以自己放置ui程序的路径为准
编写自启动服务


三星S21 Ultra影像得分121分 不如三星S20 Ultra
胭脂谷微器件正在生产检测新冠的生物传感器
运算放大器的噪声的来源
美图手机T9评测 更完美的美颜自拍体验
Arduino篇—FastLED库文件项目应用
QT在Linux嵌入式设备上的系统配置
11月19号DSP周末班热招中 -达盛科技培训
12月中国联通4G用户本月净增112.3万户,努力推动高质量发展
大疆灵眸手机云台2代:功能升级价格却低了一半
怎样完善停车位产权制度
汾酒与华为签署战略合作协议,共同探索酒业数字化转型发展
8家“优浪AI智谷科技产业联盟”与湘江智谷·人工智能科技城签署了入驻协议
5G与VR技术的应用,对旅游行业有着深刻影响
机器学习和人工智能有什么区别
40年后C++为何仍然当今使用最广泛的编程语言之一?
STM8L051F3的TIM2相关知识
AI录音笔引起怎样的新潮流
关于未来即将出现的GaN创新技术与其对基站设计和发展的影响
2020全球智能手机面板市场报告发布:京东方获销量王
智能建筑想要实现长远发展需要解决什么难题