基于v851se SPI 移植ilitek-79XXX驱动。

一、简述

移植缘由:原设计方案:采用MCU(型号略)驱动ilitek-79XXX触摸(不带FLASH),每次启电必须要进行触摸固件升级。经过MCU同事一轮折腾,得出刀割一般教训结果,所采用MCU内存比较少(十几K),没办法进行固件文件内存加载升级。基于以上总总,才有本记录内容过程。

临时决定采用新方案:采用全志V851se方案进行挂接并驱动(本人最近项目使用过V851se)。

注:项目产品设计理念与使用场景保密。

项目关键产品图片如下:

V851se 开发板
触摸屏与转接开发板

二、SPI接线

V851se 开发板SPI 引脚
V851se 原理图
转接开发板SPI引脚

数字信号逻辑分析仪
令人抓毛的飞线图
看到飞线的感官图

三、LINUX DTS与驱动相关配置

DTS 设置
LINUX下的驱动目录结构

Kconfig文件内容
Makefile文件内容

touchscreen目录Kconfig文件内容
touchsreen目录Makefile文件内容
驱动设置

四、LINUX 编译与调试

(1)、source build/envsetup.sh
(2)、lunch //选择1
(3)、make -j10
(4)、pack //打包
注:m menuconfig (编译选择菜单)
       make kernel_menuconfig(内核配置:驱动选择) 
       make modules(编译内核模块)

//打包后,就会在OUT目录下生成固件文件,复制出来烧录到TF卡上,就可以用来启动V851开发板了。如下图目录。

固件生成目录

插上TF卡,启动系统后(所有接线都具备理想的条件下),进入/lib/modules/4.9xx/,加载驱动进行调试。insmod ilitek.ko

经过与硬件工程师反复折腾,驱动程序启动日志如下(完成驱动程序移植与核心功能,启动时升级固件与适配触摸):

驱动调试日志

五、总结

经过将近5工作日折腾,可总算有个成果,记录并总结如下:

1、SPI接线的重中之重,SCLK、MOSI、MISO、CS,带上眼镜并用好辣机(粤语),万用表反复测试是否接通。调试时,接上逻辑分析仪,看信号变化,如果没有信号,有可能物理没有接通,带上眼镜并用好万用表。

2、DTS设备树设置是关键,

  compatible ="tchip,ilitek"; //名称一定要与驱动程序相匹配.
  touch,irq-gpio=<&pio PC 4 14 1 2 0xffffffff>; //中断一定要设置对
  touch,reset-gpio=<&pio PE 5 1 1 2 0xffffffff>;// reset一定要设置对。

 看好主板原理图进行相关的设置。
3、因为本项目是通过转接板把触摸与V851se开发板进行对接的,所以要与硬件工程师搞好关系,必要时多关照几杯瑞幸Coffee,事前把关系搞好,事半功倍。

4、遇事硬着头皮上,每一步都不会白走。

5、最后感谢两位全志方案的刘大球、帅气耐心刘工。

欢迎讨论。祝大家工作上事事顺利。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值