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

相关内容

热门资讯

消息人士:欧盟各成员国政府已批... 当地时间5月27日,一位了解欧盟会议情况的欧盟消息人士称,欧盟各国政府周三批准了一项立法,取消对许多...
晓数点丨全球存储三巨头,集体跻... 5月26日,美光科技单日涨超19%,继三星电子后成为存储三巨头中第二家万亿美元市值公司。5月27日早...
同一周两枚火箭上天:它们其实都... 同一周,两枚火箭上了天。一枚是马斯克的星舰V3。21世纪经济报道2026年5月23日消息,北京时间5...
首发 | “具身大脑”明星公司... 投中网获悉,中科第五纪完成数亿元A轮融资,由孚腾资本领投,上海半导体产投、国科资本、中国风险投资、鸿...
富力彻底退出广州天汇广场 1.... 5 月 26 日,富力地产发布公告宣布重大资产处置动作,公司全资附属公司与新鸿基地产(中国)相关主体...
亚朵向住客免费提供隐藏摄像头检... 01.海底捞停止“携宠就餐”试点02.喜茶外送打包费调至1.5元/件03.蜜雪冰城全球最大旗舰店在昆...
近4500家下跌,科技股巨震,... 5月27日,三大指数涨跌不一,沪指低开低走失守4100点,科创50指数盘中跌超3%。截至收盘,沪指跌...
熊园:重估中国资产,聚焦“科技... 熊园系国盛证券首席经济学家、中国首席经济学家论坛理事本文来自《蓝鲸新闻》投资者应减少情绪化“追涨杀跌...
海底捞宣布:停止试点 5月26日,海底捞发布关于携宠就餐的相关说明。文中称,为探索宠物友好模式,海底捞在三家门店进行试点,...
“眼红”海力士和三星天价奖金,... 台积电正面临一场内部薪酬风波:季度净利润创下历史新高,员工奖金却传出将被削减15%,不满情绪持续蔓延...