F1C200s移植tslib触摸测试库报错
-
1.首先下载源码:
tslib-1.21.tar.bz2,使用的版本为tslib 1.2.1
2.修改源码所属用户为当前用户
sudo chown project01:project01 tslib-1.21 -R
3.ubuntu下工具安装:
sudo apt-get install autoconf sudo apt-get install automake sudo apt-get install libtool
4.编译tslib:
首先在源码外创建一个结果保存目录tslib,然后输入以下指令编译tslib:cd tslib-1.21/ ./autogen.sh ./configure --host=arm-linux-gnueabi --prefix=创建的保存编译结果的目录路径(绝对路径) make make install
5.拷贝到根文件系统:
进入结果保存文件夹tslib下,其中bin目录下是可执行文件,包括tslib的测试工具,etc目录下是tslib的配置文件,lib目录下是相关的库文件。将所有编译结果拷贝到根文件系统下。sudo cp * -rf /你的根文件系统路径 -d
6.环境变量设置:sudo vi ./etc/profile # 不要设置你Ubuntu的环境变量
输入以下内容:
export TSLIB_TSDEVICE=/dev/input/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
7.上电启动:
使用ts_calibrate命令进行校准。
使用ts_test_mt命令进行触摸测试即可。--------------------------------上电启动报错----------------------------
在Debian文件系统下报错:Illegal instruction;
在buildroot制作的根文件系统下报错-sh: “-sh: ts_csalibrate: not found”。----------------------------------详细描述-------------------------------
很奇怪的是,我在正点原子的阿尔法开发板上使用上面的方法,可以正常进行测试。但是在F1C200s上面,使用Debian根文件系统会报错:“Illegal instruction”,在buildroot制作的根文件系统上会报错:“-sh: ts_csalibrate: not found”。有朋友知道是什么原因吗?----------------------------------附加描述-------------------------------
注:根文件系统制作完成后移植的tslib;正点原子阿尔法(IMX6U)移植使用arm-linux-gnueabihf编译器,F1C200s使用的arm-linux-gnueabi编译器。----------------------------------请求-------------------------------
哪位大佬帮指导下,或者有编译好的可以在F1C200s运行的tslib触摸测试库文件,方便的话可以发我一下,非常感谢。 -
参考这个:
-
@whycan 好的好的,谢谢晕哥
-
@whycan 晕哥,我看了一下你发的这个帖子,我就是按照这个拉取的Debian系统文件。
-
Debian根文件系统是armel类型;
-
内核使用的是arm-linux-gnueabi编译器;
-
tslib编译也是使用的arm-linux-gnueabi。
即使这样在Debian文件系统中仍然会报错“Illegal instruction”。
armhf (支持硬件浮点)
armel (软浮点) -
-
@kashine 在 F1C200s移植tslib触摸测试库报错 中说:
arm-linux-gnueabi
大概率是工具链的原因,估计是里面有arm9不支持的指令,buildroot用这个工具链编译出来的文件系统,F1C100s同样不执行.
-
@whycan 好吧,只能到这了,谢晕哥
Copyright © 2023 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号