【源码】imx6ull实现触摸屏单点实验-移植tslib和qt

news2024/12/23 12:15:05

一、本实验实验的器材:
1.正点原子imx6ull的阿尔法开发板v2.2
2.屏幕ALIENTEK 4.3 RGBLCD
在这里插入图片描述
二、实验已经移植好的文件:
仓库代码:https://gitee.com/wangyoujie11/atkboard_-linux_-driver.git

在这里插入图片描述
在这里插入图片描述
1.文件说明
arm-qt.tar.bz2:移植好的qt源码
arm-tslib.tar.bz2:移植好的tslib源码
23_multitouch :驱动代码
tslib-1.21:tslib源码
rootfs:移植好的根文件系统
imx6ull-alientek-emmc.dts:移植好的设备树文件

三、移植tslib:
方法一:
直接使用我移植好的根文件系统rootfs,解压替换自己的根文件,然后将make dtbs`重新编译出imx6ull-alientek-emm.dtb文件复制到自己的tftpboot文件夹里:
1.在自己ubuntu环境下编译23_multitouch文件,【记得更改里面的Makefile文件的交叉编译器路径】

make
cp gt9417.ko 到自己的根文件路径/lib/modules/4.1.15

2.然后连接自己的开发板,使用网络加载根文件和dtb、zimage的方法启动板子

ls /dev/input
cd /iib/modules/4.1.15
depmod
modporbe gt9417.ko 
ls /dev/input
查看自己多出来的eventx  是多少号
然后 vi /etc/profile

方法二
第一步:imx6ull-alientek-emm.dts是已经适配4.3寸屏幕的设备树源文件,替换自己linux内核中的设备树文件。然后使用make dtbs重新编译出imx6ull-alientek-emm.dtb文件,然后复制新的dtb文件到自己的tftpboot文件夹里

cp arch/arm/boot/dts/imx6ull-alientek-emmc.dtb /home/wj/linux/tftpboot/ -f

在这里插入图片描述
第二步:将tslib移植 【移植步骤如下】
1.解压tslib文件
2.修改 tslib 源码所属用户:sudo chown wj:wj tslib-1.21 -R 【wj改为自己的ubuntu用户名】
3.安装工具包

sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install libtool

4.创建一个新的空白tslib文件用来存放编译后的tslib文件
比如:/home/wj/linux/tool/tslib
5.编译

cd tslib-1.21/
/autogen.sh
/configure --host=arm-linux-gnueabihf --prefix=/home/wj/linux/tool/tslib 【前提交叉工具链已经安装好,未安装参考后面的补充步骤】
make
make install

6.执行完以上操作之后,就会在/home/wj/linux/tool/tslib目录下生成
在这里插入图片描述
然后将这里的所有文件复制到自己的根文件下面,比如我的

cd linux/tool/tslib
sudo cp *  /home/wj/linux/nfs/rootfs -f

7.在自己ubuntu环境下编译23_multitouch文件,【记得更改里面的Makefile文件的交叉编译器路径】

make
cp gt9417.ko 到自己的根文件路径/lib/modules/4.1.15

8.然后连接自己的开发板,使用网络加载根文件和dtb、zimage的方法启动板子
在这里插入图片描述

ls /dev/input
cd /iib/modules/4.1.15
depmod
modporbe gt9417.ko 
ls /dev/input
查看自己多出来的eventx  是多少号
然后 vi /etc/profile

在这里插入图片描述
然后在运行
ts_test_mt就会在屏幕上出现测试界面
请添加图片描述
四、移植qt:
1.下载源码
wget https://download.qt.io/archive/qt/5.12/5.12.9/single/qt-everywhere-src-5.12.9.tar.xz
2.解压源码
tar xf qt-everywhere-src-5.12.9.tar.xz
cd qt-everywhere-src-5.12.9/
3.修改qmake.conf 【直接git clone https://gitee.com/QQ1252699831/qt5.12.9-conf.git】
在这里插入图片描述
4.修改autoconfigure.sh,【然后将该文件放在qt-everywhere-src-5.12.9目录下面
在这里插入图片描述
在这里插入图片描述
5.给权限
chmod +x autoconfigure.sh
6.安装g++
sudo apt-get install g++
7.执行
./autoconfigure.sh
8.编译
make
9.安装
make install
10.移植arm-qt到板子的文件系统
打包:tar -jcf ./arm-qt.tar.bz2 arm-qt 【或者直接使用我仓库里的】
11.然后使用 U 盘拷贝 arm-qt.tar.bz2, 在 USB 接口插上 U 盘
12.挂载 U 盘的目录, sda1 为 U 盘的分区,不要写成 sda!sda 只是设备名
mount /dev/sda1 /mnt
进入 U 盘的挂载目录后,将 arm-qt.tar.bz2 解压到/usr/lib 目录下
tar xf arm-qt.tar.bz2 -C /usr/lib
在这里插入图片描述
13.修改/etc/profile

export QT_ROOT=/usr/lib/arm-qt
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event4
export QT_QPA_FONTDIR=/usr/share/fonts
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0
export QT_PLUGIN_PATH=$QT_ROOT/plugins
export LD_LIBRARY_PATH=$QT_ROOT/lib:$QT_ROOT/plugins/platforms
export QML2_IMPORT_PATH=$QT_ROOT/qml
export QT_QPA_FB_TSLIB=1

14.激活环境
source /etc/profile
15.运行qt例程
/usr/lib/arm-qt/examples/widgets/animation/animatedtiles/animatedtiles //运行编译的示例

在这里插入图片描述

补充:安装交叉编译器
在这里插入图片描述在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1489531.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SwiftUI中Alert与ActionSheet的集成

在SwiftUI中,Alert和ActionSheet是两个用于显示提示信息和选项的组件。Alert用于显示简单的提示信息,而ActionSheet用于显示多个选项供用户选择。 要在SwiftUI中使用Alert,首先需要在视图中定义一个State属性来存储是否显示Alert&#xff0c…

持续集成(CICD)- gogs仓库的部署和使用

文章目录 一、gogs的介绍二、部署gog仓库三、首次启动gogs四、登录五、创建一个非空仓库六、从仓库拉取代码到本地七、把本地编辑的代码上传到仓库 一、gogs的介绍 Gogs作为一个轻量级、易于部署和使用的自托管Git服务,为小型团队和个人开发者提供了一个简单而强大…

QT实现Ftp客户端的三种方法及工程实例

1.Qt项目中实现的FTP传输功能的三种方式 (1)QFtp QFtp 是 Qt4 中专门负责 FTP 传输的类,包括创建目录、删除目录、删除文件、获取文件列表、上传、下载等等常规操作。 注意:QT5中已经移除,如果需要用需要自己添加QFtp…

day6 数组 嵌套循环

1&#xff1a;打印杨辉三角 91 int arr[6][6];92 int i,j0;93 for(i0;i<6;i)94 {95 for(j0;j<i;j) 96 {97 if(j0||ij)98 {99 arr[i][j]1; …

2.3 shl,shr,inc,dec,xchg,neg指令,中断int指令

汇编语言 1. shl左移指令 shl是逻辑左移指令&#xff0c;它的功能是将一个reg或内存单元中的数据向左移位&#xff1b;将最后移出的一位写入cf中&#xff1b;最低位用0补充shl&#xff1a;shift left例如&#xff1a;0100 1000b 往左移一位&#xff0c;变成10010000b&#xf…

Vue.js中的diff算法:让虚拟DOM更高效

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

C++ Primer Plus Sixth Edition - 下载电子书与源代码

C Primer Plus Sixth Edition - 下载电子书与源代码 1. C Primer Plus, 6th Edition1.1. Download the source code files1.2. 下载源代码文件 2. C Primer Plus, Sixth Edition (PDF)3. Table of ContentsReferences 1. C Primer Plus, 6th Edition C Primer Plus, 6th Editi…

xss.haozi.me:0x02

"><script>alert(1)</script> 这样就成功了

07. Nginx进阶-Nginx负载均衡

简介 负载均衡 什么是负载均衡&#xff1f; 负载均衡&#xff0c;英文名称为Load Balance&#xff0c;其含义就是指将负载&#xff08;工作任务&#xff09;进行平衡、分摊到多个操作单元上进行运行。 Nginx负载均衡 什么是Nginx负载均衡&#xff1f; Nginx负载均衡可以大…

redis07 持久化(RDB、AOF)

思维草图 redis持久化认识 Redis是一个基于内存的数据库&#xff0c;它的数据是存放在内存中&#xff0c;内存有个问题就是关闭服务或者断电会丢失。 Redis的数据也支持写到硬盘中&#xff0c;这个过程就叫做持久化。 Redis提供了2种不同形式的持久化方式。 RDB&#xff08…

安全团队官网介绍页源码

安全团队官网介绍页源码&#xff0c;源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面 下载地址 https://www.qqmu.com/2383.html

Unity 角色控制(初版)

角色控制器组件&#xff0c;当然是将组件放在角色上了。 using System.Collections; using System.Collections.Generic; using UnityEngine;public class c1 : MonoBehaviour {// 获取角色控制器private CharacterController player;void Start(){// 加载角色控制器player …

【自然语言处理六-最重要的模型-transformer-下】

自然语言处理六-最重要的模型-transformer-下 transformer decoderMasked multi-head attentionencoder和decoder的连接部分-cross attentiondecoder的输出AT(Autoregresssive)NAT transformer decoder 今天接上一篇文章讲的encoder 自然语言处理六-最重要的模型-transformer-…

红黑树的简单介绍

红黑树 红黑树的概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制&#xff0c;红黑树确保没有一条路径会比其他路径长出俩倍&#x…

爬虫案例二

第一步电影天堂_免费在线观看_迅雷电影下载_电影天堂网 (dytt28.com)电影天堂_电影下载_高清首发 (dytt89.com)电影天堂_免费在线观看_迅雷电影下载_电影天堂网 (dytt28.com) 打开这个网站 我直接打开 requests.exceptions.SSLError: HTTPSConnectionPool(hostwww.dytt28.com…

99.qt qml-单例程序实现

在之前讲过: 58.qt quick-qml系统托盘实现https://nuoqian.blog.csdn.net/article/details/121855993 由于,该示例只是简单讲解了系统托盘实现,并没有实现单例程序,所以多次打开后就会出现多个exe出现的可能,本章出一章QML单例程序实现, 多次打开始终只显示出第一个打开…

论文阅读:2022Decoupled Knowledge Distillation解耦知识蒸馏

SOTA的蒸馏方法往往是基于feature蒸馏的&#xff0c;而基于logit蒸馏的研究被忽视了。为了找到一个新的切入点去分析并提高logit蒸馏&#xff0c;我们将传统的KD分成了两个部分&#xff1a;TCKD和NCKD。实验表明&#xff1a;TCKD在传递和样本难度有关的知识&#xff0c;同时NCK…

【RT-DETR有效改进】全新的SOATA轻量化下采样操作ADown(轻量又涨点,附手撕结构图)

一、本文介绍 本文给大家带来的改进机制是利用2024/02/21号最新发布的YOLOv9其中提出的ADown模块来改进我们的Conv模块&#xff0c;其中YOLOv9针对于这个模块并没有介绍&#xff0c;只是在其项目文件中用到了&#xff0c;我将其整理出来用于我们的YOLOv8的项目&#xff0c;经…

动态之美:Motion 5特效,让视频栩栩如生 mac版

Motion 5&#xff0c;一款强大的视频后期特效软件&#xff0c;凭借其丰富的功能和出色的性能&#xff0c;成为了众多影视制作人员的首 选工具。它不仅能够满足专业级影视制作的需求&#xff0c;也适合初学者探索和实践视频特效的魅力。 Motion 5软件获取 Motion 5拥有丰富多样…

SpringBoot源码解读与原理分析(四十)基于jar/war包的运行机制

文章目录 前言第14章 运行SpringBoot应用14.1 部署打包的两种方式14.1.1 以可独立运行jar包的方式14.1.2 以war包的方式 14.2 基于jar包的独立运行机制14.2.1 可独立运行jar包的相关知识14.2.2 SpringBoot的可独立运行jar包结构14.2.3 JarLauncher的设计及工作原理14.2.3.1 Jar…