一、简述
移植缘由:原设计方案:采用MCU(型号略)驱动ilitek-79XXX触摸(不带FLASH),每次启电必须要进行触摸固件升级。经过MCU同事一轮折腾,得出刀割一般教训结果,所采用MCU内存比较少(十几K),没办法进行固件文件内存加载升级。基于以上总总,才有本记录内容过程。
临时决定采用新方案:采用全志V851se方案进行挂接并驱动(本人最近项目使用过V851se)。
注:项目产品设计理念与使用场景保密。
项目关键产品图片如下:
二、SPI接线
三、LINUX DTS与驱动相关配置
四、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、最后感谢两位全志方案的刘大球、帅气耐心刘工。
欢迎讨论。祝大家工作上事事顺利。
4954

被折叠的 条评论
为什么被折叠?



