am335x 电容屏驱动添加。
参考:http://www.cnblogs.com/helloworldtoyou/p/5530422.html
上面可以下载驱动。
解压后驱动有如下目录:
我们要选择的是:
eGTouchARM/eGTouchARMnonX 里面的两个文件。
把eGTouchL.ini cp 到、/etc 目录下。
吧eGTouchD cp 到/opt/driver下。
把
我们还得把上面的setup 在板子里面运行。
还得运行 eGTouchD
insmod /opt/driver/hid-multitouch.ko #这个东西是我从原来的板子里面扣出来的
./setup.sh
/opt/driver/eGTouchD
这样,我们的dev/input/event*
就会出现驱动设备接口。
cat /dev/event0
就会喷出数据,说明驱动移植成功。
然后利用下面这段代码就可以把touch的数据读出来:
1 2 #include <stdio.h> 3 #include <unistd.h> 4 #include <fcntl.h> 5 #include <linux/input.h> 6 7 int main(void) 8 { 9 int fd ; 10 11 fd = open("/dev/input/event0" , O_RDWR) ; 12 if (fd < 0) 13 { 14 perror("open fail...\n") ; 15 return -1 ; 16 } 17 18 struct input_event event ; 19 20 while (1) 21 { 22 read(fd , &event , sizeof(struct input_event)) ; 23 24 printf("type: %d value: %d code:%d \n" , event.type ,event.value , event.code) ; } 25 26 close(fd) ; 27 28 29 return 0 ; 30 }
前面的话我讲过一些关于input 子系统相关的东西,这里就是用了通用事件类型的接口。
交叉编译以后我们就可以得到我们的数据。
但是这个数据还是不准确的。我们要加以矫正。
Read The Fucking Source Code