<!-- P { margin-bottom: 0.21cm } -->
【实验环境】
-
Ubuntu 10.10 发行版
-
u-boot-2010.03
-
FS2410 平台
-
交叉编译器 arm-none-linux-gnueabi-gcc-4.3.2
【实验步骤】
-
拷贝 tslib-1.4.tar.gz 到 linux 系统
-
解压源码
$ tar -zxvf tslib-1.4.tar.gz
$ cd tslib-1.4
-
执行 autogen.sh 脚本生产 configure 文件
$ ./autogen.sh
这一步需要安装一些工具,如:在 ubantu 系统下可以执行:
$ sudo apt-get install autotools-dev
-
执行 confugure 生成 Makefile 文件
$ echo "ac_cv_func_malloc_0_nonnull=yes" >$ARCH-linux.cache
$ ./configure --host=arm-softfloat-linux-gnu --prefix=/home/linux/tslib --cache-file=$ARCH-linux.cache
说明 :
--host 是指你的交叉编译器的前最 ; 例如:你的交叉编译器是 arm-linux-gcc, 则 --host=arm-linux. 如果是 arm-softfloat-linux-gnu-gcc
则 --host=arm-softfloat-linux-gnu
--prefix 是你执行 make install 的时候编译后生成的可执行文件和库文件以及配置文所安装的目录,这个目录不能和 tslib 源码目录相同 ;
configure 文件下还有好多选项,你可以执行 ./configure --help 来进行选择其他项,不过在这里这些选项就够了。
-
编译安装
$ make
$ make install
-
把指定安装目录下的 tslib 的文件都拷贝到你所挂载的根文件下
$ cp -a /home/linux/tslib /rootfs
-
修改 /rootfs/tslib 下的 etc 目录中 ts.cong 文件
#vim ts.conf 将第二行的 #module_raw input 修改成 module_raw input 注意一定要顶格写否则程序执行时会发生读取 ts.conf 错误
-
启动你的开发板
在 /source/rootfs/etc/profile 中添加如下代码:
export TSLIB_ROOT=/tslib
export TSLIB_TSDEVICE=/dev/event0
export LD_LIBRARY_PATH=/tslib/lib:$LD_LIBRARY_PATH
export QWS_SIZE=320x240
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_PLUGINDIR=/tslib/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_CONFFILE=/tslib/etc/ts.conf
export POINTERCAL_FILE=/etc/pointercal
export QWS_MOUSE_PROTO=Tslib:/dev/event0
export TSLIB_CALIBFILE=/etc/pointercal
export QWS_DISPLAY="LinuxFb:mmWidth100:mmHeight130:0"
export TSLIB_TSEVENTTYYPE=H3600
说明:
TSLIB_TSDEVICE // 触摸屏设备文件名。
TSLIB_CALIBFILE // 校准的数据文件,由 ts_calibrate 校准程序生成。
SLIB_CONFFILE // 配置文件名。
TSLIB_PLUGINDIR // 插件目录
TSLIB_CONSOLEDEVICE // 控制台设备文件名
TSLIB_FBDEVICE // 设备名
以上环境变量在实际开发中的实际配置可以根据实际情况决定。而这些指定的设备节点一定要和你的开发板上的 /dev 目录下的设备节点相对应。
-
就可以运行 /tslib/bin 下的测试文件,如 ts_calibrate 校准程序。
# /tslib/bin/ts_calibrate