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

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

3天内不再提示

迅为RK3568开发板驱动开发指南-输入子系统

北京迅为电子 2024-02-23 15:11 次阅读

《iTOP-RK3568开发板驱动开发指南》更新,本次更新内容对应的是驱动(第十三篇 输入子系统)视频,帮助用户快速入门,大大提升研发速度。

第13篇-输入子系统目录

第1篇 驱动基础篇

第2篇 字符设备基础
第3篇 并发与竞争
第4篇 高级字符设备进阶
第5篇 中断

第6篇 平台总线

第7篇 设备树

第8篇 设备树插件

第9篇 设备模型

第10篇 热插拔

第11篇 pinctrl子系统

第12篇GPIO子系统

第13篇输入子系统

驱动基础-进阶篇

未完待续,持续更新中...

初识 input 子系统

137.1 什么是输入子系统?

Linux 中,input 子系统是专门为处理输入类设备而设计的一个子系统或框架。它提供了一套通用的接口和机制,用于驱动开发人员编写和管理输入设备的驱动程序。输入设备包括键盘、鼠标、触摸屏、游戏手柄等,具体示意图如下所示:

wKgZomXYROOAM4BvAABxMYZPrxs895.pngwKgZomXYROuAEBbQAADJhDNflF4891.png

使用 input 子系统的主要目的是规范和简化输入设备驱动的开发过程,以提高驱动的通用性和兼容性。它通过将输入设备的共同功能和处理逻辑提取出来,编写成通用的代码,将差异化的代码留给具体的设备驱动开发人员,这种分工合作的方式使得驱动开发人员可以更专注地处理设备特定的细节,从而大大降低工程师的开发难度。

在不使用输入子系统的情况下,可能会使用不同的代码来表示相同的动作。例如,一个同学可能使用数字 1 来表示按键按下,数字 0 来表示按键松开;而另一个同学可能使用数字 2来表示按键按下,数字 3 来表示按键松开。这样的情况下,应用程序很难适配所有不同的驱动程序,从而导致程序的兼容性和移植性较差。

而在使用输入子系统后就可以解决这个问题。例如,当不同厂家的键盘连接到计算机上时,它们的驱动程序都是按照输入子系统框架来编写的。这意味着所有厂家的驱动程序都使用相同的代码规范来表示按键动作,例如使用 1 表示按下,使用 0 表示松开。这样一来,无论是哪个厂家的键盘,都可以在任意计算机上正常使用。

使用输入子系统的另一个好处是驱动开发人员不需要自己实现文件操作集函数。输入子系统已经提供了一套标准的接口和函数,开发人员只需要按照这些接口进行开发,而无需关心底层的文件操作细节。这样可以大大降低开发的难度和复杂度。

综上使用 input 子系统的作用如下所示:

(1)兼容性: 输入子系统提供了一个统一的框架和接口,使得不同厂家的输入设备都可 以按照相同的规范进行驱动开发。无论是键盘、鼠标还是其他输入设备,只要符合输入子系统定义的接口和事件格式,都可以在 Linux 系统中正常工作。这样一来,工程师不需要针对每个厂家的设备编写和维护不同的驱动代码,大大提高了设备的兼容性。

(2)统一的驱动编程方式: 输入子系统定义了一套通用的驱动编程方式,工程师只需要按照输入子系统的规范进行开发即可。输入设备的驱动模块需要实现相应的接口函数,如初始化函数、事件处理函数等。这些接口函数的实现方式是相同的,不论是键盘驱动还是鼠标驱动,都可以按照统一的方式进行开发。这样一来,工程师可以更加专注于设备特定的细节,而无需关心通用的驱动框架,简化了开发过程。

(3)统一的应用操作接口: 输入子系统通过提供一组统一的应用操作接口,如

/dev/input/eventX,使得应用程序可以方便地与输入设备进行交互。应用程序可以通过读取这些设备节点,获取输入事件的信息,并进行相应的处理。无论是哪种类型的输入设备,应用程序都可以使用相同的方式进行访问和操作。这样一来,应用程序的开发人员不需要关心底层输入设备的细节,可以更加专注于应用程序的逻辑开发。

更多关注北京迅为电子了解详细教程

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

    关注

    11

    文章

    1717

    浏览量

    84343
  • 开发板
    +关注

    关注

    25

    文章

    4429

    浏览量

    93993
  • RK3568
    +关注

    关注

    4

    文章

    433

    浏览量

    4127
收藏 人收藏

    评论

    相关推荐

    【资料手册】RK3568开发板资料分享

    RK3568开发板是基于瑞芯微 RK3568 芯片,采用 22nm 制程工艺,集成4核arm架构 A55 处理器和 Mali G52 2
    发表于 03-23 16:10

    【瑞芯微RK3568资料】精心编写3568开发资料,研发更快人一步

    编写进开发板使用手册,帮助用户快速入门,大大提升研发速度 02嵌入式Linux开发指南
    发表于 04-28 17:38

    国产处理器瑞芯微RK3568对比RK3399性能解析-开发板

    iTOP-RK3568开发板iTOP-RK3568开发板采用瑞芯微
    发表于 05-05 16:15

    RK3568开发板鸿蒙OpenHarmony系统固件烧写步骤

    1、RK3568开发板鸿蒙OpenHarmony系统固件烧写首先拷贝烧写器(烧写器在光盘资料“iTOP-
    发表于 08-26 17:45

    RK3568开发板实现的NVR/XVR方案推荐

    1、RK3568开发板实现的NVR/XVR方案在视频监控系统数字化、网络化、高清化、智能化的发展趋势过程中,网络视频监控
    发表于 08-26 17:54

    RK3568开发板RK3399开发板性能对比

    iTOP-RK3568开发板iTOP-RK3568开发板采用瑞芯微
    发表于 08-29 16:55

    RK3568开发板 OpenHarmony v3.2-Beta4 版本测试

    RK3568开发板 OpenHarmony v3.2-Beta4 版本测试在上个章节,我们在 RK3568
    发表于 03-29 15:09

    RK3568开发板2800页手册+220集视频

    itop-3568ubuntu使用手册 itop-3568开发板c应用编程手册 itop-3568开发板
    发表于 06-01 10:25

    更新 | 持续开源 RK3568驱动指南第十一篇-pinctrl子系统

    《iTOP-RK3568开发板驱动开发指南》更新,本次更新内容对应的是驱动(第十一期_pinctrl子系
    发表于 10-18 11:12

    iTOP-RK3568开发板npu手册更新

    iTOP -RK3568开发板使用教程更新,后续资料会不断更新,不断完善,帮助用户快速入门,大大提升研发速度。 为了满足人工智能的需要,去年,基于
    发表于 11-03 14:40

    瑞芯微rk3568开发板原理图

    瑞芯微rk3568 开发板 原理图工程文件AD格式
    发表于 04-24 14:12 66次下载

    瑞芯微RK3568主板开发板PET_RK3568_P01简述

    瑞芯微RK3568主板开发板PET_RK3568_P01简述
    的头像 发表于 08-08 11:41 1765次阅读
    瑞芯微<b class='flag-5'>RK3568</b>主板<b class='flag-5'>开发板</b>PET_<b class='flag-5'>RK3568</b>_P01简述

    迅为RK3568开发板可实现多屏异显控方案

    迅为RK3568开发板可实现多屏异显控方案
    的头像 发表于 07-15 17:30 1324次阅读
    迅为<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>可实现多屏异显控方案

    RK3568开发板规格书

    RK3568开发板规格书
    发表于 03-23 15:28 64次下载

    【北京迅为】itop-RK3568开发板驱动开发指南

    《iTOP-RK3568开发板驱动开发指南》更新,本次更新内容对应的是驱动(第六期_平台总线_全新升级)视频,后续资料会不断更新,不断完善,
    发表于 08-29 16:32 15次下载