0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

驱动之路#12:如何调试Input设备?

BSP调试从0到1 来源:嵌入式分享 作者:嵌入式分享 2026-03-17 09:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本合集分享的是,我当初学习Linux驱动的来时路——《《驱动之路》开篇:自序&前言》。

正文

经过前面 Input 子系统系列文章,我们已经很清楚 Input 子系统的数据上报流程(如下图),这正是我们调试 Input 设备时的技术自信。Input设备的工作链路很简单: 硬件→ 驱动→ Linux Input子系统 → 应用层,调试的核心就是“从下到上”验证每一环是否正常,哪环断了就针对性解决。

wKgZPGm4qL6ANwoYAABhaKdwoW4543.png

下面跟大家分享我的 Input 设备调试思路,仅供参考~

调试流程

当我们配置完软件并连接 Input 设备后,接下来就进入调试流程。

第 1 步:确认设备是否被系统识别

先通过cat /proc/bus/input/devices判断Input设备有没有被驱动识别,这是最基础的一步。

小提示:关键看输出中的「Name」和「Handlers」,比如触摸屏会显示“goodix-ts”,Handlers对应“event6”(设备节点); 若没找到目标设备,优先排查:驱动是否加载、硬件接线是否松动(如I2C触摸屏的SDA/SCL引脚)、设备树配置是否正确(如I2C地址、中断引脚)。

wKgZPGm4qL6AUKopAABQw8Q7G20039.png

第 2 步:验证原始事件是否正常

如果设备已识别,但操作没反应,可以使用getevent/hexdump/od (Linux 与 Android 支持不同命令)等命令监听原始事件,判断驱动是否能正常上报数据。

比如,执行命令hexdump /dev/input/event6,然后操作Input设备(如触摸屏幕、按按键),观察输出;

正常情况:会持续输出事件,比如触摸屏会有ABS_MT_POSITION_X(X坐标)、ABS_MT_POSITION_Y(Y坐标)事件。

异常情况:无输出→驱动未正确上报事件,检查驱动probe函数是否执行、中断是否触发(关键点)。

第 3 步:用evtest/tslib 做更细致的功能验证

getevent/hexdump/od 等命令看原始数据,evtest/tslib(触摸专用) 能更直观地看到事件细节,适合验证功能是否达标。

排查思路

无论是硬件还是软件都特别要留意中断信号,中断是 Input 设备数据上报的关键!比如调试触摸屏时,只要触摸芯片正常工作,触摸屏幕,中断引脚的电平就应该产生变化,驱动程序通过捕获其电平的变化触发中断函数,从而实现数据上报。

说句废话:具体问题具体分析。不过实际情况确实如此,这里无法列出所有情况,只能提供一些常见问题的排查思路。

设备未识别

(1)驱动未加载:看dmesg日志(dmesg | grep input)是否有报错,根据报错 log 进行排查;

(2)dts 配置错误:检查设备树中Input设备的节点配置(如I2C地址、中断引脚、compatible属性),确保与驱动匹配。

有设备节点但无事件输出

(1)中断未触发:用cat /proc/interrupts查看中断是否有计数,无计数→硬件接线错误或中断配置错误;

(2)驱动未初始化:查看dmesg日志,看驱动probe函数是否有报错(如资源申请失败)。

(完)

本人专注 Linux 驱动 & Linux/Android BSP 开发调试,可接外包项目/技术支持/问题定位。有需求或交个朋友可加微信:【Chen_WeChat2026】。

更多原创技术文章:《README 2026》。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动
    +关注

    关注

    12

    文章

    1989

    浏览量

    88684
  • Linux
    +关注

    关注

    88

    文章

    11807

    浏览量

    219512
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    驱动之路#20:Pinctrl 在手,引脚复用很顺手

     欢迎关注,每周更新!☞ 本合集分享的是,我当初学习Linux驱动的来时路——《《驱动之路》开篇:自序pinctrl节点下(rk3576-pinctrl.dtsi),定义具体的引脚配置(复用
    的头像 发表于 04-07 21:18 444次阅读
    <b class='flag-5'>驱动</b><b class='flag-5'>之路</b>#20:Pinctrl 在手,引脚复用很顺手

    智能扫地机器人驱动板接口定义与调试方法-技术性篇(艾毕胜电子)

    驱动板作为智能扫地机器人运动控制的核心硬件,其接口设计直接决定与主控板、电机、传感器等模块的兼容性,而标准化的调试方法则是保障驱动板功能正常、性能达标的关键。本文系统梳理扫地机器人驱动
    的头像 发表于 03-18 16:58 412次阅读

    云台电机驱动系统载波参数配置与调试

    核心参数(频率、载波比、死区时间等)的配置原则、场景化取值标准,详细拆解从硬件适配到软件调试的全流程步骤,并针对常见问题提供排查方案,为工程技术人员提供标准化的参数配置与调试指南,确保驱动系统达到设计指标。 一、引言 云
    的头像 发表于 03-06 15:11 320次阅读

    驱动之路#04:LCD 驱动程序分析(基于RK3576)

      题图:河北太行山脉,山头密密麻麻都被太阳能板覆盖了。 欢迎关注,每周更新!☞ 本合集分享的是,我当初学习Linux驱动的来时路——《《驱动之路》开篇:自序      // 通用面板数据结构
    的头像 发表于 02-17 08:20 1w次阅读
    <b class='flag-5'>驱动</b><b class='flag-5'>之路</b>#04:LCD <b class='flag-5'>驱动</b>程序分析(基于RK3576)

    驱动之路#03:LCD 时序参数分析

      题图:浙江普陀山客运中心最近获得2021年度凡尔赛建筑奖。 欢迎关注,每周更新!☞ 本合集分享的是,我当初学习Linux驱动的来时路——《《驱动之路》开篇:自序13 tvb: 垂直上宽/后肩
    的头像 发表于 02-10 08:27 1925次阅读
    <b class='flag-5'>驱动</b><b class='flag-5'>之路</b>#03:LCD 时序参数分析

    RK平台新声卡添加与驱动调试指南

    在瑞芯微(RK)平台的嵌入式系统开发中,音频功能的实现核心依赖于 Sound Card(声卡)的正确配置与驱动调试
    的头像 发表于 02-09 16:42 983次阅读
    RK平台新声卡添加与<b class='flag-5'>驱动</b><b class='flag-5'>调试</b>指南

    拆解RK3568启动日志:Debian12+Linux6.1下的调试密码,初学者也能看懂

    在嵌入式开发中,启动日志(Boot Log) 是硬件调试驱动开发、系统优化的“第一手资料”。尤其是基于瑞芯微 RK3568(四核 A55,主打边缘计算、物联网设备)的方案,搭配 Debian
    的头像 发表于 02-06 16:52 3241次阅读
    拆解RK3568启动日志:Debian<b class='flag-5'>12</b>+Linux6.1下的<b class='flag-5'>调试</b>密码,初学者也能看懂

    深入解析RK平台GPIO驱动:从原理到调试,开发者必看指南

    )平台上,GPIO 驱动的实现直接影响着硬件交互的稳定性与效率。本文将带你深入剖析 RK 平台 GPIO 驱动的核心逻辑、使用方法,以及对调试工作的关键意义。
    的头像 发表于 02-03 15:53 1210次阅读
    深入解析RK平台GPIO<b class='flag-5'>驱动</b>:从原理到<b class='flag-5'>调试</b>,开发者必看指南

    RK3576音频调试全纪录

    在嵌入式设备开发中,音频调试往往是“牵一发而动全身” 的环节 —— 既需要对齐硬件原理图的信号定义,又要适配软件层的 codec 配置、引脚映射和驱动逻辑。本文基于 RK3576 平台的实际
    的头像 发表于 02-02 17:13 1814次阅读
    RK3576音频<b class='flag-5'>调试</b>全纪录

    燕东微北电集成12英寸生产线工艺设备顺利搬入

    岁末冬安,圆梦芯成。2025年12月10日,北京燕东微电子股份有限公司(688172.SH)旗下北京电控集成电路制造有限责任公司12英寸集成电路生产线项目(以下简称“燕东微北电集成项目”)迎来工艺设备搬入的重要节点,标志着该项目
    的头像 发表于 12-19 15:07 970次阅读

    【免费送书】成为硬核Linux开发者:《Linux 设备驱动开发(第 2 版)》

    Linux系统的设备驱动开发,一直给人门槛较高的印象,主要因内核机制抽象、需深度理解硬件原理、开发调试难度大所致。2021年,一本讲解驱动开发的专著问世即获市场青睐,畅销近万册——这便
    的头像 发表于 11-18 08:06 1761次阅读
    【免费送书】成为硬核Linux开发者:《Linux <b class='flag-5'>设备</b><b class='flag-5'>驱动</b>开发(第 2 版)》

    达实智能分享AI时代的心力驱动之路

    近日,由知名媒体IP《首席访谈》发起成立的企业决策人社群“首席朋友圈”走进达实智能,深入了解达实智能企业创新发展之路,共同探讨企业家的“心力驱动”实践。
    的头像 发表于 07-23 11:23 970次阅读

    设备远程调试新利器:御控网关开启PLC高效运维新时代

    御控网关,专为设备远程调试,尤其是PLC(可编程逻辑控制器)的远程调试服务,凭借其卓越性能与广泛兼容性,支持绝大部分PLC远程调试,成为工业领域运维人员的得力助手。
    的头像 发表于 06-24 17:22 779次阅读

    适用TI ADS1299器件的ADS129x设备SPI通信问题调试步骤教程

    适用TI ADS1299器件的ADS129x设备SPI通信问题调试步骤教程
    的头像 发表于 06-18 16:19 2604次阅读
    适用TI ADS1299器件的ADS129x<b class='flag-5'>设备</b>SPI通信问题<b class='flag-5'>调试</b>步骤教程

    硬件调试:JLink 驱动配置与调试技巧

    摘要: 本文深入探讨了 JLink 调试器在嵌入式系统硬件调试中的应用,详细阐述了 JLink 驱动配置的方法以及硬件调试技巧。本文以国科安芯的AS32系列MCU芯片为例,通过分析 J
    的头像 发表于 06-12 23:20 1877次阅读
    硬件<b class='flag-5'>调试</b>:JLink <b class='flag-5'>驱动</b>配置与<b class='flag-5'>调试</b>技巧