Linux serial touch 设计总结
概述:
最近在做嵌入式linux下串口触摸屏设计,遇到一些问题,经过查找资料和请教同事,总算把问题解决了,事后有把linux相关的内核代码仔细看了一遍,为了有点成果,特别写了个总结。如有任何问题请联系yxj_5421@http://www.doczj.com/doc/87b94b1e227916888486d76d.html,转载请标明出处。
系统资源:
Linux:2.6.36 UI:QT+TSLIB
硬件资源不关心
设计方法:
有两种实现途径。
1、是将要使用的串口单独拿出来,作为一个platform总线设备实现,在嵌入式平
台mach文件里面,加上串口中断号和寄存器首地址,然后将这个串口注册成
一个platform总线设备。在驱动probe函数里面需要得到这个串口中断号以及
寄存器映射地址,通过寄存器映射地址设置串口波特率,数据位,停止位等,
通过中断号注册中断等,然后调用input_register_device注册一个input设备。
在中断里面得到外面触摸屏的数据,然后根据input touch协议上报触摸数据。
这种方法实现简单明了,不需要和linux的tty,serio等打交道。但是要求知道
串口硬件spec,比如寄存器等,而且这个串口就只能给触摸屏使用了,不能作
为tty使用。因为是嵌入式开发,因此很容易知道硬件spec,而且嵌入式平台