调试lcd时候给linux单板移植tslib

作者: 良知犹存

作者:良知犹存

转载授权以及围观:欢迎添加微信公众号:Conscience_Remains

总述

tslib背景:

在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。

Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。

下面介绍就是执行的大致过程

1.克隆编译源代码

2.将编译好的文件添加到linux根文件系统

3.执行装载LCD相关驱动到单板,再给tslib设置好环境变量,执行tslib

一、克隆源代码

git clone https://github.com/kergoth/tslib

编译执行的步骤

$ ./autogen.sh$ echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache$mkdir tmp  /*用来放编译的文件*/

$ ./configure --host=arm-linux --cache-file= arm-linux.cache --prefix=$(pwd)/tmp$ make$ make install

开始执行克隆代码中的编译脚本,对喽开始出现问题了

./autogen.sh

./autogen.sh:autoreconf: not found

下面开始解决bug

二、解决bug

bug1:./autogen.sh:autoreconf: not found 这个问题出现的原因是autoconf automake libtool 三个文件没有安装

安装三个工具:

sudo apt-get install autoconf automake libtool

继续执行 编译脚本 又出现bug

bug2:安装之后发现还是有问题,发现是libtool没有安装成功

重新安装:

sudo apt-get install libtool

编译通过:

建立一个文件夹 用来放编译产生的文件

mkdir tmp

新建一个arm-linux.cache文件

echo "ac_cv_func_malloc_0_nonnull=yes">arm-linux.cache

将编译过程的文件制定编译到目录

./configure--host=arm-linux --cache-file= arm-linux.cache --prefix=$(pwd)/tmp

bug3:make 出现问题

如果编译过程中遇到 undefined reference to 'rpl_malloc',前面配置完成之后修改 config.h.in 文件,注释掉文件最后的 undef malloc ,重新 make 即可。

进行制定目录(tmp)的文件生成

make install

三、安装使用

因为使用的NFS网络根文件系统

所以就直接把文件拷贝到NFS目录下,然后使用网络文件系统启动linux单板

再拷贝到开发板根目录

cp * / -rfd

再安装lcd相关的驱动

为了找这个三个文件,需要进行Linux内核进行配置

编译模块

找到cfbcopyarea.ko、cfbfillrect.ko 、cfbimgblt.ko文件并复制到网络根文件系统目录

加载lcd相关驱动,除了上面复制的三个内核编译.ko文件,还有自己写好的屏幕专属的lcd.ko驱动

打开tslib安装路径下的/etc/ts.conf文件,修改其内容。

 module_raw input改为module_raw input

添加环境变量,可以在profile添加 也可以直接在终端输入

export TSLIB_TSDEVICE=/dev/event0

export TSLIB_CALIBFILE=/etc/pointercal

export TSLIB_CONFFILE=/etc/ts.conf

export TSLIB_PLUGINDIR=/lib/ts

export TSLIB_CONSOLEDEVICE=none

export TSLIB_FBDEVICE=/dev/fb0

进行测试

./ts_calibrate 校准屏幕
```hljs
./ts_test ts测试
```hljs
./ts_print 打印坐标

这就是分享tslib移植的全过程,如果大家有什么更好的思路,欢迎分享交流哈。

原文作者:良知犹存

原文链接:https://www.cnblogs.com/conscience-remain/p/13370084.html

更多推荐

更多
  • Linux二进制-一、Linux 环境及其工具 Linux 工具,有用的设备和文件,与连接器相关的环境点,GDB,Objdump from GNU binutils,Objcopy from GNU binutils,strace,追踪,基本 ltrace 命令,ftrace,rea
    Apache CN

  • Linux二进制-零、前言 这本书的内容,你需要什么来写这本书,这本书是写给谁的,约定,读者反馈,客户支持,示例代码下载,勘误表,盗版,问题, 软件工程是创造一项在微处理器上存在、存在和呼吸的发明。 我们称之为程序。 逆向工程的行为发现这个项目如何生活和呼吸,而且
    Apache CN

  • Linux二进制-二、ELF 二进制格式 ELF 文件类型,ELF 程序头文件,ELF 节标题,精灵符号,ELF 重置,ELF 动态链接,编写 ELF 解析器,pt_load,PT_DYNAMICPhdr 为动态段,pt_note,pt_interp,PT_PHDR,文本部
    Apache CN

  • Linux二进制-五、Linux 二进制程序保护 ELF 二进制封隔器哑保护,存根机制和用户域执行,由保护根执行的其他工作,已有的 ELF 二进制保护,下载 maya 保护的二进制文件,反调试二进制保护,抗仿真,模糊处理方法,保护控制流的完整性,其他资源,保护器的一个例子,DacryF
    Apache CN

  • Linux二进制-九、Linux `/proc/kcore`分析 九、Linux /proc/kcore分析Linux 内核取证和 rootkit,普通 vmlinux 没有符号,/proc/kcore 和 GDB 探索,直接修改 sys_call_table,Kprobe rootkits,VFS
    Apache CN

  • Linux二进制-三、Linux 进程跟踪 ptrace 的重要性,进程寄存器状态和标志,一个简单的基于实践的调试器,一个简单的 ptrace 调试器,具有进程附加功能,高级功能跟踪软件,ptrace 和法医学分析,处理图像重建从内存到可执行文件,简单的例子并不总是那么微不足道,
    Apache CN

  • 四、ELF 病毒技术——Linux/Unix 病毒 ELF 病毒技术,ELF 病毒工程挑战,ELF 病毒寄生虫感染方法,PT_NOTE 到 PT_LOAD 转换感染方法,感染控制流程,ELF 防调试和包装技术,ELF 病毒检测及消毒,寄生代码必须是自包含的,字符串存储的复杂性,寻找存储寄
    Apache CN

  • Linux二进制-七、进程内存取证 流程是什么样子的?,进程内存感染,Linux ELF 核心文件,可执行内存映射,程序堆,共享库映射,堆栈、vdso 和 vsycall,进程感染工具,工艺感染技术,Azazel userland rootkit 检测,进程地址空间的映射
    Apache CN

  • Linux二进制-八、扩展核心文件快照技术 历史,ECFS 理念,ECFS 入门,libecfs 用于解析 ECFS 文件的库,readecfs,使用 ECFS 检查受感染的进程,ECFS 参考指南,使用 ECFS 处理巫术,了解更多有关 ECFS,将 ECFS 插入核心处理器,
    Apache CN

  • Linux二进制-六、Linux 中的 ELF 二进制取证 检测入口点修改的科学,检测其他形式的控制流劫持,寄生虫代码特征识别,识别反向文本填充感染,识别文本段填充感染,标识受保护的二进制文件,IDA Pro,正在修补。ctors/。 init_array 节,检测 PLT/GOT 挂钩,检测蹦
    Apache CN

  • 近期文章

    更多
    文章目录

      推荐作者

      更多