全志T113 芒果派MQ-Dual(T113) QT+电容触摸
目录
一.搭建开发环境
创建虚拟机
安装 VMware Tools
设置共享文件夹
更新和安装对应库
安装QT 5.12.9 开发环镜
初次编译开发板的SDK
Tslib编译,安装
QT源码编译,交叉环境安装
添加QT的 Kits 构建套件
测试构建工具
T113硬件调式
测试驱动程序
终端机配置QT程序运行环境
一.搭建开发环境
准备工作
安装好VMware Workstation 17 Player虚拟工具
准备文件
- QT源代码: qt-everywhere-src-5.12.9.tar.xz
- tslib-1.21.zip
- QT安装程序:qt-opensource-linux-x64-5.12.9.run
- 开发板SDK:Tina-Linux-20220815.tar.gz
- 安装于虚拟机的系统:ubuntu-18.04.6-desktop-amd64.iso
创建虚拟机
运行VMware Workstation 17 Player 点创建新虚拟机
- 选择稍后安装操作系统 >下一步
- 客户机操作系统选 Linux , 版本 Ubuntu 64位 >下一步
- 名称,位置跟据实际情况选择 > 下一步
- 磁盘大小100GB(并非立即占用).将虚拟磁盘存储为单个文件(可选多个文件) >下一步
- 自定义硬件 内存,处理器根据电脑性能调整,网络适配器选择桥接(不要有IP冲突就可以) CD/DVD先择提前准备好的系统镜像文件ubuntu-18.04.6-desktop-amd64.iso >关闭硬件窗口>完成
安装虚拟系统
运行新建虚拟机,进入Ubuntu安装程序的Welcome页面
1.选择中文(简体) > 点安装Ubuntu
2键盘布局 >继续
3.更新和其他软件 选 ‘最小安装’ >继续
4.清除整个磁盘并安装(创建虚拟机时指定的磁盘,选物理盘的要注意数据掉失) >现在安装 >继续
5.地方选择 Shanghai >继续
6.名称计算机名,用户名,密码 自己决定.选自动登录 > 继续
7. 等等等…………(多长时间要由计算机配置决定)
8. 安装完成 > 现在重启
9. 进入Ubuntu系统桌面.
重启失败 按Alt+Ctrl 点虚拟机上方式强制重启
如果再次进入安装程序, 要在CD/DVD取消系统镜像文件
安装 VMware Tools
- 虚拟机左上角Player ->管理->安装VMware Tools 桌面出现挂载VMwareTools镜像光盘(如果没有 虚拟机设置->CD/DVD 设备状态选择已连接和启动时连接)
- 双击打开VMwareTools文件夹. 文件夹空白外右击在终端打开
- cp VMwareTools-10.25-20206839.tar.gz ~/
- cd ~/
- tar -zxvf VMwareTools-10.3.25-20206839.tar.gz
- cd vmware-tools-distrib
- sudo ./vmware-install.pl 输入系统安装时指定的密码,以后不在说明
- 输入yes 回车 后面地址选项全部按回车使用默认
- 出现 --the VMware team 安装完成 重启生效 >关闭系统
至此 虚拟系统ubuntu-18.04.6安装完成
设置共享文件夹
打开虚拟机设置,如上图添加文件夹
点下一步 选择主机目录 下一步直到完
在虚拟系统 打开文件夹>其他位置 共享文件夹在mnt目录下
/mnt/../... 地址就是共享目录
更新和安装对应库
打开终端 (Ctrl + Alt + T)
更新
sudo apt-get update
安装相关库
sudo apt-get install autoconf automake libtool m4 pkg-config build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip lib32z1 lib32z1-dev lib32stdc++6 libstdc++6 libmpc-dev libgmp-dev
修改根目录的opt文件权限方便后面文件复制
sudo chmod 777 /opt
安装QT 5.12.9 开发环镜
用户目录新建Allwinner文件夹
mkdir ~/Alwinner
将QT源码 QT安装程序,TinaLinux tslib复制进去
文件夹愉右击 在终端打开
sudo ./qt-opensource-linux-x64-5.12.9.run 运行QT安装程序
1点next输入帐号/密码 点Next 如果没有要在QT官网注册
2同意 GPL协议 点下一步直到安装文件夹
3地址默认 /opt/Qt5.12.9 下一步
4组件 全选(Sources 占用空间比较大可以去掉) 下一步
5许可协议 同意 下一步 下一步 等安装完成 关闭
初次编译开发板的SDK
右击Tina-Linux-20220815压缩包提取到此处
打开终端进入SDK根目录
cd Tina-Linux-20220815/Tina-Linux
先择分支
source ./build/envsetup.sh
lunch
7
编译内核(选项全部回车选默认)
make
编译设备树
mboot
打包
pack
Tslib编译,安装
关联T113所用的编译器
gedit ~/.bashrc
文件末尾增加一行
export PATH=$PATH:/home/ubuntu/Allwinner/Tina-Linux-20220815/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/
source ~/.bashrc
运行arm-openwrt-linux-gcc -v 可以看到arm编译工具的信息
右击 tslib源码压缩包提取到此处
进入tslib源码根目录
cd tslib-1.2.1
运行autogen.sh
./autogen.sh
tslib源码根目录创建安装文件夹
mkdir tmp
echo "ac_cv_func_malloc_0_nonnull=yes" > arm-linux.cache
./configure –host=arm-openwrt-linux –cache-file=arm-linux.cache -prefix=$(pwd)/tmp
make
安装tslib库 ,完成,tslib安装在tmp文件夹
make install
将安装文件复制到/opt文件夹改名为tslib
cp -r ./tmp /opt/tslib
下步骤安装qt交叉编译环境会用到此tslib
QT源码编译,交叉环境安装
解压QT源码,右击提取到此处
进入QT源文件
cd qt-everywhere-src-5.12.9
修改qmake.conf文件
gedit qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
### qmake configuration for building with arm-linux-gnueabi-g++#MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublibQT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS += -O2 -march=armv7-a -mtune=cortex-a7 -mfpu=neon -mfloat-abi=hard
QMAKE_CXXFLAGS += -O2 -march=armv7-a -mtune=cortex-a7 -mfpu=neon -mfloat-abi=hardinclude(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)# modifications to g++.conf
QMAKE_CC = /home/ubuntu/Allwinner/Tina-Linux-20220815/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-gcc
QMAKE_CXX = /home/ubuntu/ Allwinner/Tina-Linux-20220815/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-g++
QMAKE_LINK = /home/ubuntu/ Allwinner/Tina-Linux-20220815/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-g++
QMAKE_LINK_SHLIB = /home/ubuntu/ Allwinner/Tina-Linux-20220815/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-g++# modifications to linux.conf
QMAKE_AR = arm-openwrt-linux-ar cqs
QMAKE_OBJCOPY = arm-openwrt-linux-objcopy
QMAKE_NM = arm-openwrt-linux-nm -P
QMAKE_STRIP = arm-openwrt-linux-strip
load(qt_config)
##
注意:ARM编译工具的绝对路径 QMAKE_CC,QMAKE_CXX,QMAKE_LINK,QMAKE_LINK_SHLIB 地址是SDK绝对路径(错误可能会提示maybe you forgot to setup the environment )
运行配置脚本
./configure -prefix /opt/armqt5.12.9 -opensource -xplatform linux-arm-gnueabi-g++ -no-opengl -nomake examples
输入yes确认(如前面有商业版/开源版选择就输入o确认)
等一会 无报错,有几个WARNING:不理会
开始编译QT
make
等很久,(确保不出问题我只用单线程编译,可以尝试多线程make -j4 后面数字4为编译线程数量)
安装QT交叉编译环境
make install
如无意外 在-prefix 指定的/opt/armqt5.12.9目录就是最终想要的库
添加QT的 Kits 构建套件
运行QT程序 点击 工具->选项
分别增加 C和C++编译器
选择SDK目录下的GCC 和G++ 工具
C编译器选择SDK工具的gcc 名称自定
C++编译器选择SDK工具的g++ 名称自定
点右下角的Apply 没有提示错误. 编译器添加正确
增加QT Versions 选择qmake Location 为之前源码编译安装的qmake
增加Kits 名称自定,上图红色框选前面步骤创键的选项 点Apply无错误提示后OK完成
测试构建工具
新键最简单的工程,Kits时要勾选上新增的构建工具.
构建ARM运行程序. 无错误说明设置成功
T113硬件调式
通过虚拟机共享文件夹将SDK目录下的out/t113-mq-r/tina_t113-mq_r_uart0.img.文件放到Window系统,运行PhoenixCard工具将镜像文件烧写到SD卡中,注意选择启动卡
开发板插上SD卡上电运行 uart0打印输出如上.
显示屏可以看到一个图像
电容屏硬件电路
修改源码设置树文件
gedit device/config/chips/t113/configs/mq_r/board.dts
打开SDK的设备树源文件,修改触摸屏的中断的复位引脚.
修改分区大小
gedit device/config/chips/t113/configs/mq_r/sys_partition.fex
增加boot和rootfs分区容量
make kernel_menuconfig
配置内核增加电容屏驱动 GT911
make menuconfig
增加tslib库支持
默认是squashfs 改为ext4
编译内核 所有选项回车默认值
make
编译设备树
mboot
打包
pack
新镜像下载到SD卡 上电测试
cat /proc/bus/input/devices 查看输入设备 电容触摸屏是event1
测试驱动程序
串口调式终端输入 /usr/bin/ts_test
测试显示屏与触摸屏
终端机配置QT程序运行环境
TF卡挂载到虚拟机上 查看TF 卡分区情况如下图
终端打开空闲分区,将空闲分区改为用户权限
复制QT库文件
QT的测试工程构建的ARM版 也复制进来
终端打开TF卡的根目录
管理员权限打开etc/profile文件
修改红框内容
.
/mnt/UDISK/armqt5.12.9 QT库路径复制到空闲分区
上面主要设置QT运行环境关的库 ,显示屏,触摸屏
复制SDK 里的libstdc++.so.6 库文件到终端机的lib文件夹内,要不会报如下错误
Error loading shared library libstdc++.so.6: No such file or directory (needed by ./testmain)
终端机上启动系统
运行测试程序.
新建线程启动程序 命令行后加&
ps 查看所有运行程序
kill PID 关闭指定PID的程序(PID通过ps查看)
以上是调试全过程的记录,如有错误或不明白的地方欢迎评论留言
全志T113 芒果派MQ-Dual(T113) QT+电容触摸相关推荐
- 全志芒果派麻雀开发板----新建一个分区并挂载(1)
目录 吐槽--开发板全都是吃灰的 正文: (一)找资料的办法! (二)新建分区 (三)分区的挂载 1,建立文件夹(这一步我就想了很久,怎么建立完还能打包到烧录包里) 2,分区挂载到文件夹上: 3,新建 ...
- 全志D1s/F133学习笔记(1)——MangoPi-MQ(芒果派麻雀)上手试玩
一.资料 D1s是全志针对智能解码市场推出的高性价比AIoT芯片.它使用64bit RISC-V架构的阿里平头哥C906处理器,内置了64M DDR2,支持Linux系统,同时集成了大量自研的音视频编 ...
- 全志D1s/F133学习笔记(2)——MangoPi-MQ(芒果派麻雀)Tina系统编译烧录
文章目录 一.SDK和资料: 二.SDK结构: 三.环境配置 四.打补丁匹配麻雀开发板 补丁修改文件分析: 五.配置和编译 六.烧录 七.上电运行 八.补丁包修改 1.原因分析 2.修改方法 3.编译 ...
- 全志D1/D1s芯片:芒果派麻雀点RGB屏填坑
前言 最近全志推出了D1处理器,搭载平头哥玄铁906 RISC-V的应用处理器.于是准备入手玩一下,买了芒果派做了基于D1s的麻雀板,D1s是D1内封64M DDR的版本,去掉了hdmi输出,号称点屏 ...
- linux笔记(9):MangoPi-MQ(芒果派麻雀D1s)Tina系统编译烧录
文章目录 1.下载相关资料 1.1 WhyCan Forum(哇酷开发者社区)提供的sdk 1.1.1 SDK解压过程 1.2 WhyCan Forum(哇酷开发者社区)提供的补丁 1.2.1 补丁包 ...
- Linux-ARM架构,全志H616香橙派开发笔记
一.前期准备工作 1.材料准备 ①SD卡及读卡器 ②CH340USB转232串口 ③全志H616香橙派和type-C转USB供电线 ④ PC一台 ⑤SD卡格式化软件SD Card Formatter. ...
- 全志A33之添加电容触摸GT911驱动
全志A33之添加电容触摸GT911驱动 基于锐尔威视的A33开发板及提供的开发包,仅供参考. 开发板说是支持GT911,其实是不支持的,得修改驱动及配置,启动文件. 一. 修改配置文件 /h ...
- 全志V3S荔枝派zero10分钟制作TF启动卡,主线Linux,主线u-boot(超过10分钟博主直播吃奥利奥!!!)
一,初学者(比如我)刚拿到zero时,一定是一脸懵逼的,无从下手的,通过几篇代佬们写的文章+官网资料,了解了几种启动方式 1.Camdriod 官方SDK 2.主线Uboot + Bsp 内核 3.主 ...
- 全志H616香橙派OrangePi Zero2开发板连接USB以太网卡测试
1) 目前测试过能用的 USB 以太网卡如下所示,其中 RTL8153 USB 千兆网卡插入开 发板的 USB 2.0 Host 接口中测试可以正常使用,但是速率是达不到千兆的,这点请注意 2) 首先 ...
最新文章
- 程序员面试的一些心得
- 自定义控件:滑动开关
- 2年Java面试提问总结
- 文件服务器存储,文件服务器存储
- linux下搜狗输入法无法输入中文解决方法
- 关闭Wordpress修订功能,清除“Revision”的方法
- 【Flink】Flink消费Kafka数据时指定offset的五种方式
- C++学习笔记----2.4 C++对象的内存模型
- 利用构造函数实现累加
- ubuntu下安装绿联的AC650网卡驱动
- 餐饮行业收银系统源码,C# .NET + MSSQL WPF
- QQ群、讨论组上传文件,由于网络原因上传失败?
- 海外社交媒体最佳图片尺寸
- cot函数 java_java8、jdk8日期与字符串转化
- BT源代码学习心得(九):客户端源代码分析(图形界面浅析) -- 转贴自 wolfenstein (NeverSayNever)
- 图像类的分类模型假阳性(FP)高的解决思路
- WIin10——QTP10.0运行mgn-mqt82未能生成lservrc文件
- 如何调整照片大小kb?将照片缩小到指定的kb方法?
- python语言程序设计基础考试题库_中国大学MOOC(慕课)_Python语言程序设计基础_测试题及答案...
- matlab中标幺值,标幺值概述
热门文章
- 音乐python播放函数-python入门系列1——用Beep函数手动实现7个音符的播放
- Python - 知识整体框架 (思维导图)
- 都能看懂的LIS(最长上升子序列)问题
- Oracle Flashback(闪回) 详解.
- LoRa物联网在智慧农业的应用:智慧大棚解决方案
- CMake 编译jsoncpp
- 如何在windows上调试安卓机谷歌浏览器上的页面
- gradle设置build执行命令_Build.gradle 详细配置说明
- 高德地图 JSAPI 给指定部分标记颜色
- Spark学习之路 (二)Spark2.3 HA集群的分布式安装