点击上方“嵌入式应用研究院”,选择“置顶/星标公众号”
干货福利,第一时间送达!
来源|CSDN-煜个头头
整理&排版|嵌入式应用研究院
QT是目前主流的UI界面设计软件之一,Linux系统也支持QT应用,而且提供了好多便捷的插口。所以有必要记录一下基于QT,在LCD屏幕上实现UI界面功能的各类细节。
学习视频地址:
)
1.系统配置
出于便捷,我采用的是正点原子提供的出厂系统查看linux是什么系统,上面早已安装并配置好了QT,可以直接烧录QT程序进行功能实现。
上面早已写入了正点原子的出厂UI界面linux下qt的安装长春linux培训,所以接出来须要对其进行更改。
2.配置QtCreator
交叉编译工作的安装参考正点原子的相关文档,这儿不再赘言。
启动
启动的时侯须要加载交叉编译器,所以须要在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形式调试(只需更改Commandlinearguments为linuxfb或eglfs)
注意:UploadFilesviaSFTP这一步也要添加,否则不会手动上传新代码至开发板
注意:linuxfb采用纯软件渲染,eglfs采用GPU渲染,前者显示会更流畅。
不过eglfs只有在采用EMMC启动Linux内核和根文件系统时可用,对于远程网路调试只能使用linuxfb形式。
配置完成后,运行程序的时侯,QtCreator会把程序发送至开发板,之后开始运行。
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程序的路径为准
编撰自启动服务
cd /lib/systemd/system
touch jozen-qt-start.service
vi jozen-qt-start.service
#添加以下内容
[Unit]
Description=Run a Custom Script at Startup
After=default.target
[Service]
ExecStart=/usr/local/test -platform linuxfb
[Install]
WantedBy=default.target
编撰完成后linux下qt的安装,按前面的syscmd指令使能即可。
版权申明:本文为CSDN博主「煜个头头」的原创文章,遵守CC4.0BY-SA版权合同,转载请附上原文出处链接及本申明。
原文链接:
往期精彩
。
假如认为本次分享的文章对您有帮助,随手点[在看]并转发分享,也是对我的支持。