迪文科技工业串口屏(DMT10600T070-38WTC)更新程序打包
创始人
2025-05-28 03:03:15
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 架构要更新的程序。

相关内容

热门资讯

王毅:日本现职领导人讲了不该讲... 据外交部网站,11月19日至22日,中共中央政治局委员、外交部长王毅应邀赴吉尔吉斯斯坦、乌兹别克斯坦...
陕西兴平失联的12岁双胞胎姐妹... 据大风新闻,11月21日晚7时17分,陕西兴平一对12岁的双胞胎姐妹从家里外出。走的时候还穿着蓝色校...
原创 中... 中国再下一令,日本却辗转从韩国口中才得知这个噩耗,高市有点坐不住了,关键时刻放出猛料,要把美国拉下水...
公园掰手腕致骨折起诉索赔被驳回 公园内一场普通的掰手腕,竟导致手臂骨折、花费数万元医疗费。近日,江苏省苏州工业园区人民法院审理了一起...
护航浙商出海发展 浙江省涉外法... 中新网杭州11月23日电 (钱晨菲 吴怡欣)11月23日,浙江省涉外法律服务合作对接会在杭州举行,浙...
吕文君社媒庆祝夺冠:不只是海港... 2025赛季中超联赛于昨日正式落幕,上海海港队凭借出色的表现,成功捧起了冠军奖杯,成为了中超历史上又...
日本政府顾问:无需等到160关... 日本政府顾问表示,高市早苗政府对日元干预将采取更积极姿态,以抑制日元疲软带来的通胀压力,干预门槛可能...
被摄影师起诉侵权 视觉中国公开... 来源:每日经济新闻 持续两年多的摄影师起诉视觉中国(000681.SZ)侵权一案近日迎来进展。 法...
《哪吒2》被质疑过多使用动捕技... 搜狐娱乐讯 22日,奥斯卡公开的最佳动画长片奖“符合参评资格”大名单中没有《哪吒之魔童闹海》,引发热...
为了少付合同款,湖南一公司诉讼... 华声在线11月23日讯(文/视频 全媒体记者 杨昱 通讯员 胡云淞)为了少支付40万元合同款及利息,...