• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
主题 : 交叉编译tslib-1.4过程 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 2535
精华: 0
发帖: 73
金钱: 690 两
威望: 626 点
综合积分: 146 分
注册时间: 2008-11-23
最后登录: 2011-12-15
楼主  发表于: 2009-06-17 20:32

 交叉编译tslib-1.4过程

最近交叉编译了tslib-1.4,把主要过程和要注意的地方写下来,并在mini2440开发板和友善2.6.29内核实验成功。

1-./autogen.sh

2-echo ac_cv_func_malloc_0_nonnull=yes>$ARCH-linux.cache

3-./configure --host=$ARCH-linux --prefix=/usr/local --cache-file=$ARCH-linux.cache --enable-inputapi=no

--enable-inputapi=no:看你的触摸屏驱动是否支持ioctl操作,如果支持就不用写上,不支持就要添上,如果不添加会有
ts_open:Inappropriate ioctol for device
ts_open: No such file or directory
等错误(网上别人的文档是这么说的,我没有试过不加这个参数会怎样,感兴趣的试一下)

4-编译并安装后会在/usr/local(可以随意指定,但是最好要和你的开发板的路径相同,我试过一次不同时,运行./ts_calibrate,会报not found的错误)下有
bin,etc,include,lib,在你的开发板上的相同路径建立这些文件夹,并把关于tslib的相关东西考到这些文件内。

5-在你的开发板的/etc/profile文件里添加运行tslib的环境变量(一定要放到/etc/profile,我放到/etc/init.d/rcS里就没有作用,愿因是export只能在当前shell和它的子shell有用,不能影响登录的shell)

# /etc/profile

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/arm/X11R6/bin
export PATH

export TSLIB_ROOT=/usr/local
export TSLIB_TSDEVICE=/dev/event0(你的开发板dev下的触摸屏设备节点文件)
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib(这句我注释掉的原因是:有一种说法是使用LD_LIBRARY_PATH这样设置不安全,我的做法是把路径添加到/etc/ld.so.conf文件中,然后执行ldconfig命令,这样就可以了。ldconfig在你的交叉编译工具里就有)

这样大概就差不多了,运行./ts_calibrate如果还提示ts_open: No such file or directory,用env命令看一下,当前系统是否有你设置的tslib环境变量,
没有的话会提示这个错误的,我在第一次设置/etc/profile文件就没有好使,修改了一下,重启系统就好用了。

运行./ts_calibrate进行触摸屏校准,再运行./ts_test测试效果

以上文档是在参考很多网上的帖子并经过实践后写的,感谢这些帖子的作者,感谢kasim版主和长风的帮助,谢谢了
级别: 新手上路
UID: 2497
精华: 0
发帖: 30
金钱: 300 两
威望: 300 点
综合积分: 60 分
注册时间: 2008-11-20
最后登录: 2009-12-24
1楼  发表于: 2009-06-20 23:05
嗯,支持楼主。
我补充几个要特别注意的地方:

1、ts.conf文件中的各个设置选项之前不能有空格,否则会出现:
    Segmentation fault 错误,我就不小心在module...之前多了个空格,害我查了好久。

2、 不要在pointercal对应的目录下,建立一个空的pointercal文件,否则在运行ts_calibrate时,也可能会出现Segmentation fault
[ 此帖被renyucjs在2009-06-20 23:40重新编辑 ]
级别: 新手上路
UID: 6173
精华: 0
发帖: 32
金钱: 260 两
威望: 151 点
综合积分: 64 分
注册时间: 2009-05-22
最后登录: 2011-07-29
2楼  发表于: 2009-06-27 15:21
我移植的时候也有几个注意的问题:
1、export TSLIB_TSDEVICE=/dev/intput/event0
2、编译的时候遇到undefined reference to rpl_malloc这个错误,参考网上的:.在config.h里加上#undef rpl_malloc
另外:还有这个错误,怎么办呀:
ts_open: No such file or directory
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2009-06-27 15:29
ts_open: No such file or directory
这通常意味着TSLIB_TSDEVICE所指的设备节点不存在
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 6173
精华: 0
发帖: 32
金钱: 260 两
威望: 151 点
综合积分: 64 分
注册时间: 2009-05-22
最后登录: 2011-07-29
4楼  发表于: 2009-06-27 15:48
晕死,dev/input写成dev/intput了.哎
不过又出来一个新问题:
No raw modules loaded.
ts_config: Success
级别: 新手上路
UID: 6173
精华: 0
发帖: 32
金钱: 260 两
威望: 151 点
综合积分: 64 分
注册时间: 2009-05-22
最后登录: 2011-07-29
5楼  发表于: 2009-06-27 16:08
版主,帮帮忙?
级别: 新手上路
UID: 6173
精华: 0
发帖: 32
金钱: 260 两
威望: 151 点
综合积分: 64 分
注册时间: 2009-05-22
最后登录: 2011-07-29
6楼  发表于: 2009-06-27 16:29
搞定了,真是啰嗦啊
级别: 新手上路
UID: 2791
精华: 0
发帖: 15
金钱: 150 两
威望: 132 点
综合积分: 30 分
注册时间: 2008-12-09
最后登录: 2010-02-27
7楼  发表于: 2009-07-02 20:15
能否把tslib-1.4打包一下附上或发给我,我这边网络无法cvs。
ygxyvesuvius@yahoo.com.cn
级别: 新手上路
UID: 2791
精华: 0
发帖: 15
金钱: 150 两
威望: 132 点
综合积分: 30 分
注册时间: 2008-12-09
最后登录: 2010-02-27
8楼  发表于: 2009-07-03 07:42

 回 7楼(ygxy) 的帖子

找到了,太不容易了!
见附件。
附件: tslib-1.4.tar.gz (59 K) 下载次数:116
级别: 新手上路
UID: 7970
精华: 0
发帖: 22
金钱: 160 两
威望: 67 点
综合积分: 44 分
注册时间: 2009-08-05
最后登录: 2012-11-27
9楼  发表于: 2009-08-28 17:09
请问一下,我运行ts_calibrate时出来的错误是:ts_open: Invalid argument
为什么我这没env命令
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go