工作需要换一块新的触摸屏,任务安排到了我头上,可是我只是看过一遍书,还没有实际移植编写驱动的经验。现在看着开发板的驱动源码完全无法下手,请各位大神指教做这个驱动的基本步骤是什么?

解决方案 »

  1.   

    1. 首先弄清楚你的LCD屏,触摸屏都是什么接口
    2. 参考同类型的驱动代码
    3. 根据LCD屏,触摸屏厂家的资料进行修改
    4. 编译测试,反复修改测试
      

  2.   

    lcd是lcd驱动,触摸屏是触摸屏,对于程序员这是两个完全独立的设备!建议度娘"linux touch 驱动",先了解input子系统
      

  3.   

    usbtouchscreen.c应该能适配大部分touch了。LCD的话,自己找一个相近的。
      

  4.   

    linux上的驱动基本有了,只是根据自己的需求作修改,移植,或者你用一个大公司的芯片,你会发现他官网有linux的驱动。开源确实很强大,写单片机程序思维很多都从linux源码中学习到的
      

  5.   

    1.搞清楚触摸屏是什么接口我这边接触多的是I2C
    2.了解INPUT子系统
    3.网上搜索一些触摸屏驱动博客
    4.修改已有的触摸屏代码反复测试
      

  6.   

    1.了解TP的接口:看原理图,了解TP是通过什么挂在主控上,一般都是I2C,看清楚是挂在哪路I2C上2.找驱动代码:一般供应商都可以提供一份TP的驱动代码,别的平台上调通的,也有可能就是你当前平台的,有了这份代码,调试就轻松很多。其次问供应商要TP的datasheet,了解TP的设备地址,供应商没有就问TP IC厂的要3.配置TP的驱动:在对应的i2c上配置TP的驱动,可以参考SDK里别的TP驱动来配置。看原理图把INT脚、RESET脚配置好4.调试:把配好的TP驱动跑起来。首先确认驱动跑起来,没有跑起来就要检查是不是配置错了哪 路I2C,或者驱动的设备名匹配不上;其次I2C通讯失败,就要检查通讯前进行RESET操作没,或者硬件问题;再者probe跑完后,看看int有没有产生;最后打印上报的键值
      

  7.   

    找tp LCD原厂fae
      

  8.   

    楼主不要被楼上某些人误导,作为新人还是要向开发方向努力,虽然大环境是找个原厂fae要代码修改下参数
    tp的驱动其实好简单,一般如下:
    io映射(一般就i2c等、中断,power是硬件弄好的了)
    注册input子系统
    注册工作队列(处理中断上下部分)
    中断触发时i2c等读写
      

  9.   

    看你首先做的是单片机方面的工作还是Linux方面的工作,
    如果是linux,那么就是找到新换的触摸屏驱动相关的源码,修改一部分移植进去。
    第一步先找厂家要源码+芯片手册+原理图
    然后就是模仿源码写,主要也就是初始化,方面的工作,其他复制粘贴
      

  10.   

    公司也给我一块TP屏调试,后来没调试出来叫厂家FAE来调好的
      

  11.   

    看书只能获得一个框架。看下datasheet描述的寄存器,其实同类产品各家的寄存器位置、功能基本都一致,否则也不利于产品的推广。
    看了datasheet,然后找个类似的驱动了解下,把对应的地址修改调试,应该差不多了。
      

  12.   

    LCD的驱动和触摸屏驱动是两个不同的驱动,如果是LCD先看你的主控的LCD控制器手册,如果是触摸屏就要看触摸IC的手册了,触摸驱动厂家应该会有一份驱动需要根据自己板子的引脚进行修改及相应寄存器的配置。