您的位置:首页 > 其它

tslib-1.4移植

2014-06-21 11:28 218 查看
一、移植环境

主 机:VMWare6.5--Fedora 9
开发板:自制开发板

CPU:S3C2440; SDRAM:HY57V561620FTP-H; NOR flash:SST_39VF1601(2M);

NAND flash:K9F1G08U0B(128M); 网卡芯片:DM9000EP

编译器:arm-linux-gcc-4.3.2
u-boot:u-boot-2009.08
linux kernel:linux-2.6.30
busybox:busybox-1.13.3

二、博客地址

http://blog.csdn.net/liuqiqi677

如有错误,欢迎指正。

三、具体方法

之前把u-boot的移植做完之后,就开始学习Linux设备驱动开发。进入嵌入式领域,才发现原来每一个领域,像u-boot、内核、驱动等,都是博大精深,短时间内要深入了解实在是不可能,只能暂时一窥全貌,将整个过程拉通之后,再回过头来进行扩展。于是乎,在对设备驱动开发有了大概的了解之后,我便草草进入QT的移植了。我的目的其实很简单,就是在我的板子上实现一个拥有图形界面的小应用,这样,嵌入式开发的一条脉络基本上就算理清了。

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的安装移植成功完成。

环境说明:

PC机:Fedora 14

目标机:华天正 real 2410

内核:linux-2.6.22

交叉编译工具:arm-linux-gcc-4.3.2

tslib-1.4移植步骤:

1、解压tslib-1.4.tar.gz

tar zxvf tslib-1.4.tar.gz

2、运行 ./autogen.sh 生成 ./configure

3、执行./configure --prefix=/usr/local/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yes

4、把交叉编译工具添加到环境变量

make

5、make install //需要超级用户

6、安装完毕会在/usr/local生成tslib文件夹,在下面有/bin、/etc、/include、/lib 4个文件夹

7、将/usr/loca/tslib所有文件夹拷贝到arm文件系统的/usr/loca/下

8、将arm文件系统下的/usr/loca/etc/ts.conf 文件的第二行

# module_raw input 去掉#号,然该行顶格最后没有注释的内容如下:

module_raw input

module pthres pmin=1

module variance delta=30

module dejitter delta=100

module linear

9、设置环境变量脚本tslib.sh内容如下

#!/bin/sh

export TSLIB_ROOT=/usr/local

export LD_LIBRARY_PATH=/usr/local/lib #指定tslib

export TSLIB_TSDEVICE=/dev/event0

export TSLIB_CONFFILE=/usr/local/etc/ts.conf #指定配置文件为ts.conf

export TSLIB_PLUGINDIR=/usr/local/lib/ts #指定模块文件

export TSLIB_CONSOLEDEVICE=none #控制台设为none

export TSLIB_CALIBFILE=/etc/pointercal #指定触摸屏校准文件pointercal的存放位置

export TSLIB_FBDEVICE=/dev/fb0 #指定帧缓存设备节点为fb0

其中/dev/event0和/dev/fb0要根据你自己的实际情况而定

把该文件复制到arm文件系统/etc下

10、启动arm板,命令行下执行脚本

source /etc/tslib.sh

11、校准触摸屏

/usr/local/bin/ts_calibrate

运行完生成pointercal 文件
http://blog.csdn.net/qq345160153/article/details/7090748
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: