Linux驱动学习:输入子系统和LCD屏幕开发详解

需积分: 5 0 下载量 95 浏览量 更新于2024-08-03 收藏 167KB DOCX 举报
Linux驱动学习第12天-输入子系统+LCD屏幕开发 Linux驱动学习的第12天主要讲解了输入子系统和LCD屏幕开发。下面是对相关知识点的详细解释: 一、总线和设备端驱动端 总线是Linux驱动中的一种机制,用于连接设备端和驱动端。总线由三部分组成:总线设备端和驱动端。设备端和驱动端的匹配是通过名称匹配实现的,当设备端加载时,它会匹配总线上已经挂载的所有驱动端,如果匹配成功,执行驱动端的探测函数,如果匹配不成功,也会挂载到总线上。 平台设备总线是一种虚拟总线,内核统一管理。设备可能不属于任何物理总线,我们就可以将它挂载到平台设备总线上。驱动端编写的是驱动的框架,例如设备注册、IO操作。设备端编写的是设备的资源例如IO编号中断有效电平。 二、设备端和驱动端注册 设备端注册使用platform_device_register()函数,驱动端注册使用platform_driver_register()函数。设备端结构体platform_device包括名称、ID、设备结构体、资源个数和资源数组等成员。驱动端结构体platform_driver包括探测函数、卸载函数、关闭函数、暂停函数和恢复函数等成员。 三、输入子系统介绍 输入子系统是Linux驱动中的一种机制,用于统一处理各种输入设备。输入子系统的作用有三个: 1. 兼容所有的输入设备,例如键盘、笔记本自带键盘、外接有线键盘、外接蓝牙键盘等。 2. 统一硬件接口操作,给用户层提供统一的事件接口,不需要创建和管理/dev节点和相关的访问方法,只需要将对应的按键事件上报即可。 3. 统一的驱动编程方法,抽取了驱动编程的公共部分,简化了驱动编程的难度。 四、LCD屏幕开发 LCD屏幕开发是Linux驱动中的一种机制,用于实现LCD屏幕的驱动。LCD屏幕驱动需要处理屏幕的显示、亮度调整、背光控制等问题。LCD屏幕驱动的实现需要掌握Linux驱动的基本概念,例如总线、设备端、驱动端、注册机制等。 Linux驱动学习的第12天主要讲解了输入子系统和LCD屏幕开发的相关知识点,包括总线、设备端、驱动端、注册机制、输入子系统和LCD屏幕驱动等内容。