
linux设备驱动
文章平均质量分 93
乱世半仙
人生最大的悲哀莫过于坚持了不该坚持的,放弃了不该放弃的
展开
-
GPIO和Pinctrl子系统的使用
文章目录前言一、Pinctrl子系统重要概念1.1 引入1.2 重要概念1.3 示例1.4 代码中怎么引用pinctrl二、 GPIO子系统重要概念2.1 引入2.2 在设备树中指定引脚2.3 在驱动代码中调用GPIO子系统2.4 sysfs中的访问方法三、 在100ASK_IMX6ULL上机实验3.1 确定引脚并生成设备树节点3.2 驱动注册总结前言本章的重点在于“使用”提示:以下是本篇文章正文内容,下面案例可供参考一、Pinctrl子系统重要概念1.1 引入无论是哪种芯片,都有类似下图.原创 2021-03-24 14:08:16 · 853 阅读 · 0 评论 -
Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
spi总线与设备驱动系列:Linux SPI总线和设备驱动架构之一:系统概述Linux SPI总线和设备驱动架构之二:SPI通用接口层Linux SPI总线和设备驱动架构之三:SPI控制器驱动文章目录前言一、spi_transfer的队列化二、spi_message的队列化三、队列以及工作线程的初始化四、队列化的工作机制及过程前言我们知道,SPI数据传输可以有两种方式:同步方式和异步方式。所谓同步方式是指数据传输的发起者必须等待本次传输的结束,期间不能做其它事情,用代码来解释就是,调用传输的原创 2021-03-18 10:16:38 · 1749 阅读 · 0 评论 -
Linux SPI总线和设备驱动架构之三:SPI控制器驱动
spi总线与设备驱动系列:Linux SPI总线和设备驱动架构之一:系统概述Linux SPI总线和设备驱动架构之二:SPI通用接口层文章目录前言一、定义控制器设备二、注册SPI控制器的platform_driver三、注册spi_master四、实现spi_master结构的回调函数总结前言通过第一篇文章,我们已经知道,整个SPI驱动架构可以分为协议驱动、通用接口层和控制器驱动三大部分。其中,控制器驱动负责最底层的数据收发工作,为了完成数据的收发工作,控制器驱动需要完成以下这些功能:申原创 2021-03-17 17:07:30 · 570 阅读 · 0 评论 -
Linux SPI总线和设备驱动架构之二:SPI通用接口层
spi总线与设备驱动系列:Linux SPI总线和设备驱动架构之一:系统概述文章目录前言一、SPI设备模型的初始化二、涉及的相关结构体2.1 spi_master结构2.2 spi_device结构2.3 spi_driver结构2.4 spi_message和spi_transfer结构前言通过上一篇文章的介绍,我们知道,SPI通用接口层用于把具体SPI设备的协议驱动和SPI控制器驱动联接在一起,通用接口层除了为协议驱动和控制器驱动提供一系列的标准接口API,同时还为这些接口API定义了相.原创 2021-03-17 14:10:07 · 932 阅读 · 0 评论 -
Linux SPI总线和设备驱动架构之一:系统概述
spi总线与设备驱动系列:文章目录前言一、硬件结构二、工作时序三、 软件架构3.1 SPI控制器驱动程序3.2 SPI通用接口封装层3.3 SPI协议驱动程序3.4 SPI通用设备驱动程序前言SPI是"Serial Peripheral Interface" 的缩写,是一种四线制的同步串行通信接口,用来连接微控制器、传感器、存储设备,SPI设备分为主设备和从设备两种,用于通信和控制的四根线分别是:CS 片选信号SCK 时钟信号MISO 主设备的数据输入、从设备的数据输出脚MOS.原创 2021-03-17 11:00:43 · 445 阅读 · 0 评论 -
Linux I2C总线(二)I2C设备驱动编写方法
I2C系列之一i2c协议及裸板操作i2c系列之二i2c驱动框架文章目录一、I2C驱动的注册1.设置I2C驱动2.注册I2C驱动二、I2C设备的注册2.1 静态注册2.2 动态注册2.3 在用户空间注册三、 I2C数据传输四、I2C驱动模板一、I2C驱动的注册1.设置I2C驱动static const struct i2c_device_id my_i2c_dev_id[] = { { "my_i2c_dev", 0}, /* 设备名字 */ { }}; static struct转载 2021-03-15 18:00:48 · 869 阅读 · 0 评论 -
Linux I2C总线(一)I2C驱动框架
文章目录一、几个重要的对象1. I2C总线2. I2C驱动3.I2C设备4.I2C设配器小结二、内核源码分析1.注册I2C驱动2.注册I2C设备3.驱动如何使用设配器给设备发送数据总结一、几个重要的对象1. I2C总线struct bus_type i2c_bus_type = { .name = "i2c", .match = i2c_device_match, .probe = i2c_device_probe, .remove = i2c_device_remove, .sh转载 2021-03-12 10:19:03 · 332 阅读 · 0 评论 -
input输入子系统
文章目录前言一、输入子系统的作用二、输入子系统框架分析1.输入子系统架构图2.输入子系统分析2.1 核心层分析2.2 事件层分析2.3 input device driver层分析3. input事件分析三、按键驱动实例总结前言本文仅作为学习笔记总结提示:以下是本篇文章正文内容,下面案例可供参考一、输入子系统的作用兼容所有输入设备——Linux系统支持的输入设备繁多,例如键盘、鼠标、触摸屏、手柄或者是一些输入设备像体感输入等等,Linux系统为了管理如此之多的不同类型、不同原理、不同的输入信原创 2020-10-28 18:28:19 · 765 阅读 · 0 评论