tslib移植小问题

开发板文件系统/opt 文件夹不可读写?

/opt >: mkdir test
mkdir: can't create directory 'test': Read-only file system

解决:通过如下命令,然后进再进行重启即可。

mount rw -o remount / 

启动tslib校验程序错误?

/apps/etc >: ./ts_calibrate 
Couldn't open tslib config file: No such file or directory
ts_config: No such file or directory
ts_setup: No such file or directory

尝试解决:很明显是环境变量的问题,根据你的tslib库文件路径修改:

vim /etc/profile 

以下为我的修改环境变量等参数,仅供参考

export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/QT5.9_A8/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/usr/lib
export PATH=$PATH:/opt/QT5.9_A8/tslib/lib

# Touch Screen configuration            
export QT_QPA_GENERIC_PLUGINS=tslib
export TSLIB_FBDEVICE=/dev/fb0                    
export TSLIB_TSDEVICE=/dev/input/event0                            
export TSLIB_CALIBFILE=/etc/pointercal                                                           
export TSLIB_CONFFILE=$QTDIR/tslib/etc/ts.conf                                                   
export TSLIB_PLUGINDIR=$QTDIR/tslib/plugins

下面是我tslib存放的一些文件和路径,没有的话,可以自己新建文件夹。在这里插入图片描述
环境变量改完之后,再次执行ts_calibrate文件,发现出现如下错误。。。。

/apps/etc >: ./ts_calibrate 
Couldnt load module input
No raw modules loaded.
ts_config: Success
ts_setup: Success

解决:
Couldnt load module input:说明tslib从linux的输入设备读取数据,需要用到input这个模块,也就是plugin目录下的input.so文件, 所以你的TSLIB_PLUGINDIR一定要配置正确,让tslib能够找到模块文件。
其他参数分别控制触摸点的连续下压、变化宽度、轨迹变化和线性校准。
要把其对应的需要的几个库文件复制到/tslib/plugins中 即可(路径一定要加入/etc/profile),不然会提示找不到动态库。
No raw modules loaded.:导致"No raw modules loaded."的原因有两个:
一是你的ts.conf中没有指定module_raw,自带的ts.conf的所有module_raw都被注释掉了。

增加几个网上看到的错误及解决方法
1. 编译:

$export CC=/work/ebook/arm-linux-4.1.1/bin/arm-linux-gcc      //toolchain路径
$./autogen.sh   //生成config文件
$export PATH=$PATH:/work/ebook/arm-linux-4.1.1/bin/
$echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
$./configure  --cache-file=arm-linux.cache --enable-inputapi=no --prefix=/work/ts_lib_bin --host=arm-linux
$make

2.设备上运行
一些路径设置:

#export QWS_MOUSE_PROTO=TPanel:/dev/input/event0
#export T_ROOT=/mnt/ts_lib_bin
#export LD_LIBRARY_PATH=$T_ROOT/lib
#export TSLIB_CONSOLEDEVICE=none
#export TSLIB_FBDEVICE=/dev/fb0
#export TSLIB_TSDEVICE=/dev/input/event0
#export TSLIB_CALIBFILE=$T_ROOT/etc/pointercal
#export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
#export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
#./ts_calibrate

问题1:

./ts_calibrate: error while loading shared libraries: libts-0.0.so.0: cannot open shared object file: Error 40
./ts_calibrate: error while loading shared libraries: libts-0.0.so.0: cannot ope
n shared object file: No such file or directory

解决办法:
#echo KaTeX parse error: Expected 'EOF', got '#' at position 29: …TH //查看lib路径, #̲export LD_LIBRA…T_ROOT/lib

问题2:

ts_open: No such file or directory

解决办法:

#export TSLIB_TSDEVICE=/dev/input/event0   //触摸屏设备路径

问题3:

Couldnt open tslib config file: No such file or directory ts_config: Illegal seek

解决办法:

#export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf

问题4:

Couldnt load module pthres
No raw modules loaded.
ts_config: Success

解决办法:

#export TSLIB_PLUGINDIR=$T_ROOT/lib/ts

问题5:

No raw modules loaded.
Ts_config: No such file or directory

解决办法:
修 改$T_ROOT/etc/ts.conf, 至少放开一个module_raw, 并去掉前面空格

问题6:

通过autogen生成过配置文件:configure,移到另一台机器,重新运行./configure出错,解决办法:

重新设置gcc路径,如:

$export CC=/work/ebook/arm-linux-4.1.1/bin/arm-linux-gcc      //toolchain路径

$rm arm-linux.cache

$export PATH=$PATH:/work/ebook/arm-linux-4.1.1/bin/
$echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
$./configure  --cache-file=arm-linux.cache --enable-inputapi=no --prefix=/work/ts_lib_bin --host=arm-linux
$make

$make install

附加问题原链接:https://blog.csdn.net/xiaoyangger/article/details/5369961

https://blog.csdn.net/lanmanck/article/details/4303213

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用:D:\Linux-4.9.88.tar\Linux-4.9.88\include\uapi\linux input.h 。 引用:cp -d lib/*so* /home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/../arm-linux-gnueabihf/libc/usr/lib/ (2)板子上测试编译 。 引用:1,上网搞个源码库,如果你可爱到不会用百度,没关系,戳我下载( http://download.csdn.net/detail/vincent040/9662825 )。 2,将源代码丢到Ubuntu,并通过以下命令解压到Ubuntu的家目录下: tar xjvf tslib-1.4.tar.bz2 -C ~ 3,进入源码顶层目录,依次执行如下命令: mkdir ~/tslib ./configure --prefix=/home/xxx/tslib --host=arm-none-linux-gnueabi make make install A) --prefix= 后面的路径就是你要安装 tslib 库的路径,墙裂建议设置为家目录下的空目录(比如~/tslib),因为如果设置系统其它目录的话,后期 make install 的时候会让你解决权限的问题,当你自作聪明地使用sudo的时候,系统却又可能会抱怨找不到工具链,因此除非你是 Ubuntu科学家,对系统环境变量了如指掌,否则不要用小白的身份去作死,乖乖将 --prefix 指定为 ~/tslib 即可。 根据提供的引用内容,可以看出tslib是一个Linux上的触摸屏输入子系统库。它提供了在嵌入式系统中处理触摸屏输入的功能和接口。要安装tslib库,可以按照以下步骤进行操作:首先,下载源码库并将源代码解压到Ubuntu的家目录下;接着进入源码顶层目录,创建一个空目录(比如~/tslib)作为安装路径,并执行configure命令来配置安装参数;然后使用make命令编译源代码;最后使用make install命令安装tslib库到指定的安装路径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值