关于配置lcd触摸屏驱动环境

这边文章是写给没有驱动基础的同学看的


我们写应用的时候,可能会接触到底层,这一次我配置lcd触摸屏的环境。首先内核的版本是linux-3.4.2,这个是非常重要的,你要确定好 文件系统 内核 app都要用同一编译器编译,这个如果不一致的话,到时候要重新来做的。

tar xzf tslib-1.4.tar.gz
cd tslib
./autogen.sh 


mkdir tmp
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
./configure --host=arm-linux --cache-file=arm-linux.cache --prefix=$(pwd)/tmp
make
make install


安装:
cd tmp
cp * -rf /nfsroot

先安装s3c_ts.ko, lcd.ko


1.
修改 /etc/ts.conf第1行(去掉#号和第一个空格):
# module_raw input
改为:
module_raw input


2.
export TSLIB_TSDEVICE=/dev/event1
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0


ts_calibrate


ts_test


上面是步骤,下面我写一下会犯错的点,第一:里面查看设备节点,一定要确定好 ls /dev/event*


这边我们但是tslib会用到event0,我一开始以为我用来insmod s3c_ts.ko 是和event1上,然后下面export TSLIB_TSDEVICE=/dev/event1这里设置为event1,然后就出现校准可以出现,但是手点上去没有任何反应。我误判会是硬件问题,然后就恢复出厂设置,然后烧qt文件系统进去,触摸屏校准是可以使用的。hexdump  dev/event1

hexdump  dev/event0

确定好是那个节点和驱动绑在一起



tslib:
/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include/linux/input.h
#define EV_VERSION       0x010000
改为

#define EV_VERSION 0x010001



这个是驱动移植的一些问题,当你校准的时候,校准指针不在中间,你要修改内核

你可能感兴趣的:(关于配置lcd触摸屏驱动环境)