迪文科技工业串口屏(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 架构要更新的程序。

相关内容

热门资讯

2023年3月的10篇论文推荐 三月有很多的重大产品发布,包括刚刚发布的GPT4,还有Meta刚发布就被...
深入理解 Go map (1)... 基本原理 go中的map底层用如下结构表示: type hmap struct {//...
JAVA并发编程之锁 1、乐观锁和悲观锁 1.1、悲观锁 认为自己在使用数据的时候一定有别的线程来修改数据,...
嘉应制药融资净偿还1977.4... 雷达财经雷助吧出品 文|吴墨 编|深海 东财Choice数据显示,5月29日,嘉应制药融资买入116...
全球首个!国际调解院落户中国香... 5月30日上午,国际调解院公约签署仪式在中国香港举行。 据中国外交部介绍,2022年,中国与近20个...
《广西壮族自治区法律援助条例》... 人民网南宁5月30日电 (记者覃心)5月29日,广西壮族自治区人大常委会在广西人民会堂召开新闻发布会...
Vue使用的编辑器 作者简介:一名计算机萌新、前来进行学习VUE,让我们一起进步吧。   座右铭...
《计算机网络:自顶向下方法》学... 控制平面作为一种网络范围的逻辑,不仅控制沿着从源主机到目的主机的端到端路径间的路由器如...
DDD很难,学不会怎么办? 你好,我是这门课的编辑小新。 ** ** 不知不觉,我们的课程已经接近尾...
cdn原理与应用 免费的ChatGPT镜像网站网页搜索技巧 | 西园公子的科研百宝箱 (zwjjiaozhu.top)...