linux tslib-1.4移植
2017-03-31 19:15
323 查看
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-none-linux-gnueabi.cache
# ./configure --host=arm-none-linux-gnueabi --cache-file=arm-none-linux-gnueabi.cache --prefix=/usr/local/tslib
# make
# sudo make install
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的安装移植成功完成。
tslib 安装出错及解决
1.执行./autogen.sh
提示错误:
./autogen.sh: 4: autoreconf: not found
解决方法:
sudo apt-get install autoconf automake libtool
2.执行./configure --host=arm-Linux --prefix=/usr/local/tslib
提示错误:
ts_test.o(.text+0x218): In function `main':
: undefined reference to `rpl_malloc'
fbutils.o(.text+0x234): In function `open_framebuffer':
: undefined reference to `rpl_malloc'
collect2: ld returned 1 exit status
make[2]: *** [ts_test] Error 1
make[2]: Leaving directory `/home/gfpeak/Desktop/tslib/tests'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/gfpeak/Desktop/tslib'
make: *** [all] Error 2
解决方法:
在编译的时候 ./configure 后面的参数没有设置对,正确设置如下:
./configure --prefix=/usr/local/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
3. 执行 make 出错
error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 arguments
解决方法:
修改cal_fd = open ("/etc/pointercal",
O_CREAT | O_RDWR ,0)(据说是交叉编译器版本问题)
4. 编译 QT 时报错找不到 tslib 库
交叉编译器是 arm-none-linux-gnu-eabi 4.2.0
The tslib functionality test failed!(已指定了I和L参数), 进入tslib/bin下 file 发现编译生成的是x86版本,遂将 --host
改为arm-none-linux-gnueabi,生成了arm版本(此时configure不再报错)
5. 在开发板上运行校正程序时出现 No raw modules loaded
解决方法
把 tslib/etc 目录下的 ts.conf 的 "#module_raw input"的注释符号"#"去掉。但记住不要在前面留有空格 ,否则还会出现错误。
原文地址:
http://blog.chinaunix.net/uid-12461657-id-2975918.html http://blog.csdn.net/lwbeyond/article/details/7694749
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-none-linux-gnueabi.cache
# ./configure --host=arm-none-linux-gnueabi --cache-file=arm-none-linux-gnueabi.cache --prefix=/usr/local/tslib
# make
# sudo make install
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的安装移植成功完成。
tslib 安装出错及解决
1.执行./autogen.sh
提示错误:
./autogen.sh: 4: autoreconf: not found
解决方法:
sudo apt-get install autoconf automake libtool
2.执行./configure --host=arm-Linux --prefix=/usr/local/tslib
提示错误:
ts_test.o(.text+0x218): In function `main':
: undefined reference to `rpl_malloc'
fbutils.o(.text+0x234): In function `open_framebuffer':
: undefined reference to `rpl_malloc'
collect2: ld returned 1 exit status
make[2]: *** [ts_test] Error 1
make[2]: Leaving directory `/home/gfpeak/Desktop/tslib/tests'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/gfpeak/Desktop/tslib'
make: *** [all] Error 2
解决方法:
在编译的时候 ./configure 后面的参数没有设置对,正确设置如下:
./configure --prefix=/usr/local/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
3. 执行 make 出错
error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 arguments
解决方法:
修改cal_fd = open ("/etc/pointercal",
O_CREAT | O_RDWR ,0)(据说是交叉编译器版本问题)
4. 编译 QT 时报错找不到 tslib 库
交叉编译器是 arm-none-linux-gnu-eabi 4.2.0
The tslib functionality test failed!(已指定了I和L参数), 进入tslib/bin下 file 发现编译生成的是x86版本,遂将 --host
改为arm-none-linux-gnueabi,生成了arm版本(此时configure不再报错)
5. 在开发板上运行校正程序时出现 No raw modules loaded
解决方法
把 tslib/etc 目录下的 ts.conf 的 "#module_raw input"的注释符号"#"去掉。但记住不要在前面留有空格 ,否则还会出现错误。
原文地址:
http://blog.chinaunix.net/uid-12461657-id-2975918.html http://blog.csdn.net/lwbeyond/article/details/7694749
相关文章推荐
- qt-embedded-linux-opensource-src-4.8.6 + tslib-1.4 + qwt-6.0.2 编译和移植到mini2440开发板
- linux arm架构下tslib1.4 移植全过程
- S3C2440 linux2.6.32.2 tslib1.4 移植
- linux-2.6.26.5内核的 lcd驱动移植 lcd 触摸屏移植 tslib-1.4移植 (转)
- linux arm架构下tslib1.4 移植全过程2
- linux-2.6.26.5内核的 lcd驱动移植 lcd 触摸屏移植 tslib-1.4移植
- linux-2.6.26.5内核的 lcd驱动移植 lcd 触摸屏移植 tslib-1.4移植
- tslib-1.4的安装与移植
- MiniGUI 1.6.10在SkyEye 1.3.1上的移植(基于tslib 1.4)
- Qt Embedded4.6.2与tslib1.4移植到arm平台
- DirectFB移植(GUI arm linux DirectFB GTK tslib)
- Qt 4.5.3 +tslib1.4移植
- libts 1.4在SkyEye 1.3.1 + Arm Linux 2.6.36上的移植
- 移植QtEmbedded-4.5.2 tslib1.4 到 S3C2440
- Devkit8000(omap3530) tslib1.4+qtopia-core-opensource-src-4.3.5移植全记
- tslib-1.4的安装与移植
- tslib1.4移植到qq2440的环境配置
- qt4.5.2和tslib1.4在arm上的移植配置
- 移植tslib1.4到友善之臂的mini2440, 终于搞定了,真是麻烦. tslib
- 移植QtEmbedded 4.6.3 tslib1.4 到 S3C2440