ARM40之TSLIB移植

####准备

  • 主机平台:Ubuntu 16.04 LTS(x64)
  • 目标平台:ARM40-A5D3
  • tslib github
  • ARM-GCC编译工具链:gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi

####1、git克隆tslib
在主机上安装git,从gitbub上克隆tslib到本地目录下。

$ sudo apt-get install git                          #安装git
$ git clone https://github.com/kergoth/tslib.git    #克隆tslib
>>>
正克隆到 'tslib'...
remote: Counting objects: 5089, done.
remote: Total 5089 (delta 0), reused 0 (delta 0), pack-reused 5089
接收对象中: 100% (5089/5089), 2.39 MiB | 429.00 KiB/s, 完成.
处理 delta 中: 100% (3505/3505), 完成.
检查连接... 完成。
<<<

####2、交叉编译tslib
默认ARM40-A5 GCC交叉编译环境已经搭建完毕,参见ARM40-A5 GCC交叉编译环境搭建

  • 开始编译
$ sudo apt-get install automake libtool
$ sudo mkdir /opt/tslib
$ cd tslib
$ ./autogen.sh
$ ./configure CC=arm-linux-gnueabi-gcc \
               CXX=arm-linux-gnueabi-g++ \
               --prefix=/opt/tslib \
               --host=arm-linux-gnueabi \
               ac_cv_func_malloc_0_nonnull=yes
$ make&&sudo make install

  • 解决报错
    如果make源码的过程中出现如下所示的错误。
>>>
/home/jonny/tslib/libtool: line 10540: arm-linux-gnueabi-gcc: command not found
libtool:   error: error: relink 'linear.la' with the above command before installing it
Makefile:755: recipe for target 'install-pluginexecLTLIBRARIES' failed
make[2]: *** [install-pluginexecLTLIBRARIES] Error 1
make[2]: Leaving directory '/home/jonny/tslib/plugins'
Makefile:1021: recipe for target 'install-am' failed
make[1]: *** [install-am] Error 2
make[1]: Leaving directory '/home/jonny/tslib/plugins'
Makefile:483: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1
<<<

原因:sudo命令使用的是root的环境变量,sudo就找不到ARM40-A5 GCC。
解决:添加ARM40-A5 GCC的绝对路径就可以了。

$ ./configure CC=/opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc \
            CXX=/opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-g++ \
            --prefix=/opt/tslib \
            --host=arm-linux-gnueabi \
            ac_cv_func_malloc_0_nonnull=yes
  • 查看tslib
    确认tslib安装成功。
$ ls /opt/tslib/                    #查看
>>> bin  etc  include  lib  share
$ cd /opt                           #切换到/opt目录下
$ sudo tar cvf  tslib.tar tslib     #将tslib目录打包备用

####3、复制tslib到ARM40
将主机上打包好的tslib通过NFS,FTP或U盘等方式复制到ARM40板子上;
并将其释放到ARM40的/opt目录下。

root@ARM40:# tar xvf tslib.tar -C /opt      #解压tslib到/opt目录下
  • 配置环境变量
    本教程默认采用7吋LCD,并且准备就绪。
    测试tslib前,必须配置环境变量,重启ARM40使其生效。
root@ARM40:# vi /etc/profile         #编辑profile文件,将下文添加到文件末尾
>>>
export TS_ROOT=/opt/tslib
export PATH=$TS_ROOT/bin:$PATH
export LD_LIBRARY_PATH=/lib:$TS_ROOT/lib:$QTDIR/lib:$LD_LIBRARY_PATH
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TS_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TS_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
<<<
  • 校准触摸屏
root@ARM40:# ts_calibrate         #触摸屏校准
>>>
xres = 800, yres = 480
Took 1 samples...
Top left : X =  322 Y = 3336
Took 2 samples...
Top right : X = 3689 Y = 3385
Took 1 samples...
Bot right : X = 3746 Y =  656
Took 2 samples...
Bot left : X =  335 Y =  720
Took 5 samples...
Center : X = 2059 Y = 2016
-24.851858 0.206530 0.002746
528.144348 -0.000332 -0.142129
Calibration constants: -1628691 13535 179 34612468 -21 -9314 65536
<<<

root@ARM40:# ts_test         #触摸屏测试

TSTEST

tslib成功移植,结束。

####参考引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值