项目场景:
基于NXP i.mx7的Qt应用层项目开发,通过goodix使用触摸屏,走i2c协议。
问题描述
触摸屏使用过程中意外卡死,现场分为多种:
i2c总线传输错误,直观表现为触摸屏无效,任何与触摸屏挂接在同一总线上的i2c设备,均受到干扰,并且在传输过程中内核报错以下代码:
Goodix-TS 3-005d: I2C transfer error: -11 Goodix-TS 3-005d: I2C transfer error: -6 Goodix-TS 3-005d: I2C transfer error: -110 Goodix-TS 3-005d: I2C write end_cmd error
- Qt触摸事件错乱,目前发现只有在嵌入式的板子上会出现这种情况,猜测是i.mx7处理能力有限,当快速点击时,应用跟不上sysEvent上报速度导致,打印后可以看到如下信息:
- 未解之谜,长时间待机后偶发性出现,并非触摸屏失灵,而是整个应用程序卡死,怀疑程序中存在内存泄漏,但暂时未找到准确位置。
原因分析:
- i2c总线会自动仲裁所有挂接的子设备,但