第一个QT应用的实现-tslib1.4移植
2017-01-12 13:08
363 查看
1、下载tslib-1.4.tar.gz
http://download.csdn.net/source/3177449 。
2、解压安装tslib
# tar -zxvf tslib-1.4.tar.gz
# cd tslib
# ./autogen.sh
echo "ac_cv_func_malloc_0_nonnull=yes">arm-linux.cache
# ./configure --host=arm-linux --cache-file=arm-linux.cache --enable-inputapi=no -prefix=/usr/local/tslib
# make
# make install
说明:
(1) 红色的“0”是数字0;(2) /usr/local/tslib表示tslib安装后的路径
3、修改ts.conf内容
# vi /usr/local/tslib/etc/ts.conf
module_raw
input
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear
然后将整个tslib文件夹,下载到开发板的对应路径下(/usr/local)。
4、开发板配置环境变量
通过超级终端,# vi /etc/profile
添加如下内容(绿色):
export
TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/event0 指定触屏设备
export TSLIB_CALIBFILE=/etc/pointercal 指定触摸屏校准文件 pintercal 的存放位置
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf 指定 TSLIB 配置文件的位置
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts 指定触摸屏插件所在路径
export TSLIB_FBDEVICE=/dev/fb0 指定帧缓冲设备
export TSLIB_CONSOLEDEVICE=none 设定控制台设备为 none ,否则默认为 /dev/tty ,这样可以避免出现“ open
consoledevice: No such file or directory KDSETMODE: Bad file descriptor ” 的错误
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib
另外,要确保在/dev/input/目录下有event0设备文件,在/dev/目录下有fb0设备文件,如果没有,在执行下面./ts_calibrate 的时候,会报出“open
*: No such file or directory ”的错误,这时,我们需要手动创建设备文件:
#
mknod /dev/input/event0 c 13 64
# mknod /dev/fb0 c 29 0
5、执行测试命令
重启开发板,在 /usr/local/tslib/bin 目录下,输入./ts_calibrate,出现tslib的触摸屏五点校准画面,至此,tslib的安装移植成功完成。
自己遇到的问题:
1.关于configure时候找不到交叉编译器问题(解决方法我的另外一篇博文有说明)
2.make的时候提示找不到arm-linux-gcc
因为我是在非root用户下使用sudo make进行编译,使用的path是root下的。
解决方法:
先打开一个超级用户权限的shell:
sudo –s
在当前shell下,设置环境变量:
export PATH=$PATH:/你的交叉编译器bin目录
再进入到kernel目录,make,就可以找到arm-linux-gcc了
3.make的时候提示
error: unrecognized command line option "-fvisibility=hidden"
因为我的交叉编译器版本比较低,不支持这个选项
通过下面的命令找到包含fvisibility的语句,将其注释掉即可(在makefile和configure中)
Linux查找文件内容的常用命令方法。
从文件内容查找匹配指定字符串的行:
$ grep "被查找的字符串" 文件名
例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件
grep "thermcontact" */*.in
4.vim中查找命令:命令模式输入/+查找名字进行,之后按n选下一个 N上一个
http://download.csdn.net/source/3177449 。
2、解压安装tslib
# tar -zxvf tslib-1.4.tar.gz
# cd tslib
# ./autogen.sh
echo "ac_cv_func_malloc_0_nonnull=yes">arm-linux.cache
# ./configure --host=arm-linux --cache-file=arm-linux.cache --enable-inputapi=no -prefix=/usr/local/tslib
# make
# make install
说明:
(1) 红色的“0”是数字0;(2) /usr/local/tslib表示tslib安装后的路径
3、修改ts.conf内容
# vi /usr/local/tslib/etc/ts.conf
module_raw
input
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear
然后将整个tslib文件夹,下载到开发板的对应路径下(/usr/local)。
4、开发板配置环境变量
通过超级终端,# vi /etc/profile
添加如下内容(绿色):
export
TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/event0 指定触屏设备
export TSLIB_CALIBFILE=/etc/pointercal 指定触摸屏校准文件 pintercal 的存放位置
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf 指定 TSLIB 配置文件的位置
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts 指定触摸屏插件所在路径
export TSLIB_FBDEVICE=/dev/fb0 指定帧缓冲设备
export TSLIB_CONSOLEDEVICE=none 设定控制台设备为 none ,否则默认为 /dev/tty ,这样可以避免出现“ open
consoledevice: No such file or directory KDSETMODE: Bad file descriptor ” 的错误
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib
另外,要确保在/dev/input/目录下有event0设备文件,在/dev/目录下有fb0设备文件,如果没有,在执行下面./ts_calibrate 的时候,会报出“open
*: No such file or directory ”的错误,这时,我们需要手动创建设备文件:
#
mknod /dev/input/event0 c 13 64
# mknod /dev/fb0 c 29 0
5、执行测试命令
重启开发板,在 /usr/local/tslib/bin 目录下,输入./ts_calibrate,出现tslib的触摸屏五点校准画面,至此,tslib的安装移植成功完成。
自己遇到的问题:
1.关于configure时候找不到交叉编译器问题(解决方法我的另外一篇博文有说明)
2.make的时候提示找不到arm-linux-gcc
因为我是在非root用户下使用sudo make进行编译,使用的path是root下的。
解决方法:
先打开一个超级用户权限的shell:
sudo –s
在当前shell下,设置环境变量:
export PATH=$PATH:/你的交叉编译器bin目录
再进入到kernel目录,make,就可以找到arm-linux-gcc了
3.make的时候提示
error: unrecognized command line option "-fvisibility=hidden"
因为我的交叉编译器版本比较低,不支持这个选项
通过下面的命令找到包含fvisibility的语句,将其注释掉即可(在makefile和configure中)
Linux查找文件内容的常用命令方法。
从文件内容查找匹配指定字符串的行:
$ grep "被查找的字符串" 文件名
例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件
grep "thermcontact" */*.in
4.vim中查找命令:命令模式输入/+查找名字进行,之后按n选下一个 N上一个
相关文章推荐