迪文科技工业串口屏(DMT10600T070-38WTC)更新程序打包
创始人
2025-05-28 05:08:16
0

迪文科技工业串口屏 DMT10600T070-38WTC 更新程序打包

  • 产品数据
    • 问题
    • 下载交叉编译专用工具
    • 创建Qt程序
      • 新建
      • 编辑
        • 移除窗口工具栏
        • 宽度修改为1024
        • 添加背景图资源文件
        • 添加背景图
      • 运行
    • 交叉编译
      • 解压下载工具
      • 打开终端
      • 执行命令
      • 结果
    • 打包

产品数据

DMT10600T070_38WTC
基于 A40i 的工业级 Linux 系统智能显示终端,运行 Linux3.10 操作系统。
7.0 英寸,1024*600 分辨率,16.7M 色,IPS 屏,宽视角,电容触摸屏,带外壳产品。
采用迪文 HMI 组态软件进行二次开发。
集成 PLC 通讯、报警、采样、配方等数据库管理、界面定制、宏指令等功能。
支持网线连接 PC 端下载更新工程。
支持 RS232,RS422 端口与外部设备连接通讯。

问题

本人工作的计算机电脑系统:
Ubuntu22.04.1
Linux版本5.19.0-32-generic,架构x86_64。

但是,迪文科技工业串口屏(DMT10600T070-38WTC)运行程序需要的是arm架构。所以需要跨架构交叉编译。

下载交叉编译专用工具

CSDN下载地址: https://download.csdn.net/download/qq_28680277/87576306
百度网盘下载地址: buildroot-A40i-QT-sdk-20220623.tar.gz 提取码: swsp
(百度网盘下载慢时,请耐性等待)

创建Qt程序

新建

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

编辑

移除窗口工具栏

在这里插入图片描述在这里插入图片描述

宽度修改为1024

在这里插入图片描述

添加背景图资源文件

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述添加前缀
在这里插入图片描述
添加文件
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
Ctrl+S 保存文件
在这里插入图片描述

添加背景图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Ctrl+S 保存文件

运行

在这里插入图片描述
在这里插入图片描述

交叉编译

解压下载工具

ncyf@NCYF:~/Downloads$ ls -l *QT*
-rw-rw-r-- 1 ncyf ncyf 600847483  3月 13 12:25 buildroot-A40i-QT-sdk-20220623.tar.gz
ncyf@NCYF:~/Downloads$ tar -zxvf buildroot-A40i-QT-sdk-20220623.tar.gz 
(省略......)
./buildroot-A40i-QT-sdk-20220623/sysroot/sbin/mount.fuse
./buildroot-A40i-QT-sdk-20220623/sysroot/sbin/udevadm
./buildroot-A40i-QT-sdk-20220623/sysroot/dev/
ncyf@NCYF:~/Downloads$ ls -l *QT*
-rw-rw-r-- 1 ncyf ncyf 600847483  3月 13 12:25 buildroot-A40i-QT-sdk-20220623.tar.gzbuildroot-A40i-QT-sdk-20220623:
总计 12
-rwxrwxr-x 1 ncyf ncyf 1223  6月 23  2022 env-setup
drwxr-xr-x 8 ncyf ncyf 4096  7月  2  2016 gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf
drwxr-xr-x 9 ncyf ncyf 4096  3月 17  2022 sysroot
ncyf@NCYF:~/Downloads$ mv buildroot-A40i-QT-sdk-20220623 /home/ncyf/

打开终端

在源码目录打开终端,或 cd 到源码目录。
在这里插入图片描述

执行命令

ncyf@NCYF:~/test8$ ls
main.cpp        mainwindow.h   pic      test8.pro       test8_zh_CN.ts
mainwindow.cpp  mainwindow.ui  pic.qrc  test8.pro.user
ncyf@NCYF:~/test8$ source /home/ncyf/buildroot-A40i-QT-sdk-20220623/env-setup
ncyf@NCYF:~/test8$ /home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/bin/qmake
Info: creating stash file /home/ncyf/test8/.qmake.stash
ncyf@NCYF:~/test8$ ls
main.cpp        mainwindow.h   Makefile  pic.qrc                   test8.pro       test8_zh_CN.ts
mainwindow.cpp  mainwindow.ui  pic       qmake_qmake_qm_files.qrc  test8.pro.user
ncyf@NCYF:~/test8$ make
/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/bin/uic mainwindow.ui -o ui_mainwindow.h
arm-linux-gnueabihf-g++ -c -pipe --sysroot=/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot -O2 -std=gnu++1z -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtWidgets -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtGui -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtCore -I. -I. -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/mkspecs/linux-arm-gnueabi-g++ -o main.o main.cpp
arm-linux-gnueabihf-g++ -c -pipe --sysroot=/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot -O2 -std=gnu++1z -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtWidgets -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtGui -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtCore -I. -I. -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/mkspecs/linux-arm-gnueabi-g++ -o mainwindow.o mainwindow.cpp
/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/bin/rcc -name pic pic.qrc -o qrc_pic.cpp
arm-linux-gnueabihf-g++ -c -pipe --sysroot=/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot -O2 -std=gnu++1z -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtWidgets -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtGui -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtCore -I. -I. -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/mkspecs/linux-arm-gnueabi-g++ -o qrc_pic.o qrc_pic.cpp
/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/bin/lrelease test8_zh_CN.ts -qm .qm/test8_zh_CN.qm
Updating '.qm/test8_zh_CN.qm'...Generated 0 translation(s) (0 finished and 0 unfinished)
/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/bin/rcc -name qmake_qmake_qm_files qmake_qmake_qm_files.qrc -o qrc_qmake_qmake_qm_files.cpp
arm-linux-gnueabihf-g++ -c -pipe --sysroot=/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot -O2 -std=gnu++1z -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtWidgets -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtGui -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtCore -I. -I. -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/mkspecs/linux-arm-gnueabi-g++ -o qrc_qmake_qmake_qm_files.o qrc_qmake_qmake_qm_files.cpp
arm-linux-gnueabihf-g++ -pipe --sysroot=/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot -O2 -std=gnu++1z -Wall -W -dM -E -o moc_predefs.h ../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/mkspecs/features/data/dummy.cpp
/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/bin/moc -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB --include /home/ncyf/test8/moc_predefs.h -I/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/mkspecs/linux-arm-gnueabi-g++ -I/home/ncyf/test8 -I/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include -I/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtWidgets -I/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtGui -I/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtCore -I. -I/home/ncyf/buildroot-A40i-QT-sdk-20220623/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include/c++/5.3.1 -I/home/ncyf/buildroot-A40i-QT-sdk-20220623/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include/c++/5.3.1/arm-linux-gnueabihf -I/home/ncyf/buildroot-A40i-QT-sdk-20220623/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include/c++/5.3.1/backward -I/home/ncyf/buildroot-A40i-QT-sdk-20220623/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf/lib/gcc/arm-linux-gnueabihf/5.3.1/include -I/home/ncyf/buildroot-A40i-QT-sdk-20220623/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf/lib/gcc/arm-linux-gnueabihf/5.3.1/include-fixed -I/home/ncyf/buildroot-A40i-QT-sdk-20220623/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include -I/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot/usr/include mainwindow.h -o moc_mainwindow.cpp
arm-linux-gnueabihf-g++ -c -pipe --sysroot=/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot -O2 -std=gnu++1z -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtWidgets -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtGui -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/include/QtCore -I. -I. -I../buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/mkspecs/linux-arm-gnueabi-g++ -o moc_mainwindow.o moc_mainwindow.cpp
arm-linux-gnueabihf-g++ --sysroot=/home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot -Wl,-O1 -Wl,-rpath,/usr/local/Qt-5.12.6/lib -o test8 main.o mainwindow.o qrc_pic.o qrc_qmake_qmake_qm_files.o moc_mainwindow.o   /home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/lib/libQt5Widgets.so /home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/lib/libQt5Gui.so /home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot/usr/local/Qt-5.12.6/lib/libQt5Core.so /home/ncyf/buildroot-A40i-QT-sdk-20220623/sysroot/usr/lib/libGLESv2.so -lpthread   
ncyf@NCYF:~/test8$ ls
main.cpp        Makefile            qmake_qmake_qm_files.qrc      test8.pro
main.o          moc_mainwindow.cpp  qrc_pic.cpp                   test8.pro.user
mainwindow.cpp  moc_mainwindow.o    qrc_pic.o                     test8_zh_CN.ts
mainwindow.h    moc_predefs.h       qrc_qmake_qmake_qm_files.cpp  ui_mainwindow.h
mainwindow.o    pic                 qrc_qmake_qmake_qm_files.o
mainwindow.ui   pic.qrc             test8
ncyf@NCYF:~/test8$ 

结果

在这里插入图片描述其中,编译结果就是arm架构上可运行的程序。

打包

CSDN下载地址: https://download.csdn.net/download/qq_28680277/87576293
百度网盘下载地址:DWIN_V1-0-0.tar 提取码: vgrq

按照如下目录结构打包

test8App
--bin--test8
--etc--runqt
--install.sh
--serio_app

其中,test8是编译的arm架构程序。
runqt 内容如下

#!/bin/sh
export HOME=/extp/nanobio
export LD_LIBRARY_PATH=/usr/local/Qt-5.12.6/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/usr/local/Qt-5.12.6/plugins
export QT_QPA_FONTDIR=/usr/local/Qt-5.12.6/fonts
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_PLUGIN_PATH/platforms
export QT_QPA_PLATFORM="linuxfb:fb=/dev/fb0:size=1024x600:mmsize=169x179"
export PATH=/usr/local/Qt-5.12.6/bin:$PATH
export QTDIR=/usr/local/Qt-5.12.6
export QT_ROOT=/usr/local/Qt-5.12.6
export QT_QPA_GENERIC_PLUGINS=tslib,evdevkeyboard,evdevmouse
#export QT_QPA_USE_DWINTOUCH=1#qttesttool &
/extp/nanobio/run/test8 &

install.sh 内容如下

#!/bin/shQTDEST=/usr/local/Qt-5.12.6
copy_dir()
{if [ -d $1 ]; thenfor libfile in $1/*; doif [ -f $libfile ]; thencp $libfile $2/chmod $3 $2/${libfile##*/}#echo $2/${libfile##*/}fidonefi
}instdir=$(cd `dirname $0`; pwd)if [ ! -d /extp/nanobio ];then
mkdir /extp/nanobio
firm /extp/nanobio/run -rf
synccp -a $instdir/bin /extp/nanobio/run
cp -a $instdir/etc/* /etc/init.d/
#cp -a $instdir/font/* $QTDEST/fonts/
#if [ -f $instdir/logo/bootlogo.bmp ]; then
#   mount /dev/mmcblk0p2 /extp/nanobio
#   cp -a $instdir/logo/bootlogo.bmp /extp/nanobio/
#   umount /extp/nanobio
#   sync
#fi
#cp -a $instdir/logo /extp/nanobio/logo
#chmod u+x /extp/nanobio/logo/showlogo
if [ -f /etc/sw2hmi ]; thenrm /etc/sw2hmisync
fi
sync
$instdir/serio_app

执行tar打包命令
其中 tar 包名称是固定的,DWIN_V1-0-0.tar,否则自动更新时,会没有反映(上电后没有峰鸣声)。

ncyf@NCYF:~/Documents/uart_lcm/发布/4测试程序-1024_600背景图片$ tar -cvf DWIN_V1-0-0.tar test8App
test8App/
test8App/install.sh
test8App/etc/
test8App/etc/runqt
test8App/serio_app
test8App/bin/
test8App/bin/test8
ncyf@NCYF:~/Documents/uart_lcm/发布/4测试程序-1024_600背景图片$

在这里插入图片描述最后,DWIN_V1-0-0.tar 即为 arm 架构要更新的程序。

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...