设备驱动

字符设备驱动-12.misc杂项字符设备驱动

#1 引入misc device ## 1.1传统cdev方式 char_drv.c ``` #include #include #include #include #include #include #include #include #include #include #include stat ......
设备驱动 字符 设备 杂项 misc

SPI驱动0.96寸OLED单色屏刷新率测试以及代码优化改进,方法适用于SPI驱动其他设备

目前嵌入式当中OLED常用驱屏方式有两种:SPI或IIC。以速度来讲,SPI速度相较于IIC会快上一些,硬件IIC相较于模拟IIC速度又会快上一些。此外还有模拟SPI的,但该种用法我遇到较少,本文就硬件SPI驱动OLED屏幕做一个简单的刷新率测试。 测试硬件平台:CH32V307VCT6+杜邦线连接 ......
刷新率 单色 SPI 代码 方法

11.2 设备树下的 LED 驱动实验

一、修改设备树文件 首先进入该目录下 /linux/atk-mpl/linux/my_linux/linux-5.4.31/arch/arm/boot/dts 打开 stm32mp157d-atk.dts 文件,在根节点 "/" 最后输入以下内容: stm32mp1_led { compatible ......
设备 11.2 LED 11

linux进阶:设备驱动模型

为什么需要设备驱动模型 内核版本发展 2.4版本之前内核没有统一的设备驱动模型,但是可以用(例如先前的led字符设备驱动实验,使用前需要手动调用mknod命令创建设备文件,从而进一步控制硬件)。 2.4~2.6版本内核使用devfs,挂载在/dev目录。需要在内核驱动中创建设备文件(调用devfs_ ......
设备驱动 模型 设备 linux

10 新字符设备驱动文件

一、新字符设备驱动原理 因为 register_chrdev 和 unregister_chrdev 两个函数是老版本驱动文件,现在可以用新字符设备驱动 API 函数。 1. 分配和和释放设备号 使用 register_chrdev 函数注册字符设备的时候只需要给定一个主设备号即可,但是这样会带来两 ......
新字 设备驱动 文件 设备 10

9.1 字符设备驱动开发

一、字符设备驱动简介 字符设备是 Linux 驱动中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。比如我们最常见的点灯、按键、 IIC、 SPI,LCD 等等都是字符设备,这些设备的驱动就叫做字符设备驱动。 Linux 应用程序对驱动程序的调用 ......
设备驱动 字符 设备 9.1

字符设备驱动-11.mmap机制-实例分析

#1 mmap驱动要做的事情 确定物理地址 确定属性:是否使用 cache、 buffer 建立映射关系 参考 Linux 驱动源文件代码: ![image](https://img2023.cnblogs.com/blog/1876680/202308/1876680-20230810110006 ......

字符设备驱动-11.mmap机制

#1 引入mmap 应用程序和驱动程序之间传递数据时,可以通过 read、write 函数进行, 用户态和内核态的数据交互一般用copy_from_user,copy_to_user。这种方式在数据量比较小时没什么问题;但是数据量比较大时效率就太低了。比如更新 LCD 显示时,如果每次都让 APP ......
设备驱动 字符 机制 设备 mmap

编写设备驱动之i2c_client -10

编写设备驱动之i2c_client 参考资料: Linux内核文档: Documentation\i2c\instantiating-devices.rst Documentation\i2c\writing-clients.rst Linux内核驱动程序示例: drivers/eeprom/at2 ......
设备驱动 i2c_client client 设备 i2

编写设备驱动之i2c_driver -9

参考资料: Linux内核文档: Documentation\i2c\instantiating-devices.rst Documentation\i2c\writing-clients.rst Linux内核驱动程序示例: drivers/eeprom/at24.c 本节代码:GIT仓库中 框架 ......
设备驱动 i2c_driver driver 设备 i2

设备驱动-10.中断子系统-4.3中断线程化处理-threaded_irq

#1. threaded_irq引入 工作队列用起来挺简单,但是它有一个缺点:工作队列中有多个 work,前一个 work 没处理完会影响后面的 work执行,导致后面的work没法快速响应。那么可以再内核自己创建一个线程来单独处理,不跟别的 work 凑在一块了。比如在 Linux 系统中,对于存 ......

linux设备驱动程序——gpio控制

这一章节开始我们讲解各种外设的控制,包括gpio,i2c,dma等等,既然是外设,那就涉及到具体的目标板,博主在这里使用的开发板是开源平台beagle bone green,内核版本为4.14. 今天我们来讲解gpio的设备驱动程序。 gpio相关的库函数为了linux的可移植性和统一,linux提 ......
驱动程序 程序 设备 linux gpio

PnP管理器的作用是在系统启动时自动检测新添加的硬件设备,并为其安装合适的驱动程序,以确保设备能够正常工作。它还负责根据需要分配资源、配置设备参数,并提供用户友好的界面来管理设备

PnP(Plug and Play)管理器是Windows操作系统中的一个组件,用于管理和控制硬件设备的自动检测、安装和配置。它的主要目标是简化和改进计算机硬件的部署和使用过程。 PnP管理器的作用是在系统启动时自动检测新添加的硬件设备,并为其安装合适的驱动程序,以确保设备能够正常工作。它还负责根据 ......
设备 驱动程序 界面 作用 参数

设备驱动-10.中断子系统-4.2中断线程化处理-workqueue

# 1工作队列workqueue引入 定时器、 tasklet,它们都是在中断上下文中执行,它们无法休眠。那么如果一旦中断要处理耗时复杂的操作,就会显得很卡。那么使用内核线程来处理这些耗时的工作,那就可以解决系统卡顿的问题。 Linux内核中工作队列workqueue就是线程化处理的一种方式,“工作 ......

字符设备驱动--globalmem+mult_globalmem

1,设备描述符globalmem的代码如下所示: 1 /* 2 * a simple char device driver: globalmem without mutex 3 * 4 * Copyright (C) 2014 Barry Song (baohua@kernel.org) 5 * 6 ......

WUDFHost是Windows中的一个宿主进程,用于加载和执行通过UMDF编写的设备驱动程序。UMDF是一种驱动程序开发框架,允许开发人员使用高级编程语言(如C++)编写设备驱动程序,而不需要深入理解底层的内核模式驱动程序开发

WUDFHost是Windows操作系统中的一个进程,它是用于运行和管理用户模式驱动程序框架(User-Mode Driver Framework,简称UMDF)的一部分。 具体来说,WUDFHost是Windows中的一个宿主进程,用于加载和执行通过UMDF编写的设备驱动程序。UMDF是一种驱动程 ......

WUDFCompanionHost主要用于支持以COM(Component Object Model)接口编写的UMDF驱动程序。UMDF是一种驱动程序开发框架,允许使用高级编程语言(如C++)编写设备驱动程序,而不需要深入理解底层的内核模式驱动程序开发

WUDFCompanionHost是Windows操作系统中的一个进程,它是用于运行和管理用户模式驱动程序框架(User-Mode Driver Framework,简称UMDF)的一部分。 WUDFCompanionHost主要用于支持以COM(Component Object Model)接口编 ......

ReadyBoost 是什么: ReadyBoost 是一种在 Windows 操作系统中使用外部闪存设备作为虚拟内存缓存的技术。它允许将 USB 闪存驱动器或类似的闪存设备用作额外的内存存储,以加快系统的读写速度和响应时间

ReadyBoost 是 Windows 操作系统中的一个功能,它可以利用闪存驱动器(如 USB 闪存驱动器)作为辅助内存来提高系统的响应速度和性能。下面是关于 ReadyBoost 的详细解释: ReadyBoost 是什么: ReadyBoost 是一种在 Windows 操作系统中使用外部闪存 ......
闪存 ReadyBoost 内存 设备 系统

2023.7.17 字符设备驱动

Linux Device Driver Development - Everything You Need To Start With Device Driver Development For Linux Kernel 已经读到141页 4 Writing Character Device Dri ......
设备驱动 字符 设备 2023 17

无需编写驱动直接访问设备\_I2C-Tools介绍 -5

无需编写驱动直接访问设备_I2C-Tools介绍 参考资料: Linux驱动程序: drivers/i2c/i2c-dev.c I2C-Tools-4.2: https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/ AP3216C: ......
I2C-Tools 设备 Tools I2 2C

设备驱动-10.中断子系统-4.1中断下半部使用-tasklet

#1 中断下半部分引入 [引入中断下半部](https://www.cnblogs.com/fuzidage/p/17517136.html "引入中断下半部")介绍了硬件中断和软件中断,硬件中断有gpio中断,网卡,外部电路IP引起的中断,而软件中断则有定时器,tasklet这些为软件中断。cpu ......
设备驱动 半部 子系统 tasklet 设备

设备驱动-10.中断子系统-3.中断设备树表述与解析

#1. 中断在设备树中的表述 ##1 中断控制器 如图:GPIO1 连接到 GIC,GPIO2 连接到 GIC,所以 GPIO1 的父亲是 GIC,GPIO2的父亲是 GIC。假设 GPIO1 有 32 个中断源,但是它把其中的 16 个汇聚起来向 GIC 发出一个中断,把另外 16 个汇聚起来向 ......
设备 设备驱动 子系统 10

devicecensus.exe 是 Windows 操作系统中的一个进程,它与设备普查相关。设备普查是 Windows 操作系统收集和报告硬件和软件信息的一项功能 devicecensus.exe 是 Windows 的设备普查服务的主执行文件。它负责定期运行设备普查任务,收集系统的硬件配置、驱动程序信息、应用程序使用情况等数据,并将这些信息报告给 Microsoft

devicecensus.exe 是 Windows 操作系统中的一个进程,它与设备普查相关。设备普查是 Windows 操作系统收集和报告硬件和软件信息的一项功能。 具体来说,devicecensus.exe 是 Windows 的设备普查服务的主执行文件。它负责定期运行设备普查任务,收集系统的硬 ......
设备 Windows 系统 devicecensus 信息

符合input子系统的设备驱动之按键驱动(三)

作者:Bright-Ho 联系方式:836665637@qq.com 符合input子系统的设备驱动之按键驱动(三) 前两节我们回顾了按键实现的硬件原理,这一节我们就实现input系统的设备硬件层的内容; (1)首先看入口函数做了哪些事情? 46 static struct input_dev *b ......
设备驱动 子系统 按键 设备 input

符合input子系统的设备驱动之按键驱动(二)

作者:Bright-Ho 联系方式:836665637@qq.com 符合input子系统的设备驱动之按键驱动(二) 上一节,我们大概的回顾了裸板按键驱动的方法,这一节,我们继续回顾,不带input子系统的按键字符设备驱动是怎么实现的? 这里直接上流程: (1)构造file_operstions结构 ......
设备驱动 子系统 按键 设备 input

符合input子系统的字符设备驱动之按键驱动(一)

作者:Bright-Ho 联系方式:836665637@qq.com 符合input子系统的设备驱动之按键驱动(一) 前面章节,我们分析了input子系统的软件框架; 说到要学习字符驱动得分为两方面:第一方面,了解硬件工作原理,硬件协议,学会看电路图,时序等等;第二方面:了解驱动框架;了解驱动框架的 ......
设备驱动 子系统 按键 字符 设备

字符设备驱动之输入子系统分析(四)

作者:Bright-Ho 联系方式:836665637@qq.com 这一节主要讲解“设备硬件层”;这一层的内容就需要我们自己来实现;这里主要讲解框架; 在“核心层”里面会提供一个input_register_device()这样一个函数; 在“设备硬件层”先构造并初始化一个struct input ......
设备驱动 子系统 字符 设备

字符设备驱动之输入子系统分析(二)

作者:Bright-Ho 联系方式:836665637@qq.com input输入子系统框架分析(纯软件方面): 上一节,我们简单的描述的什么是输入子系统;什么是字符设备;以及其作用;重点是我们讲到分析输入子系统必须结合硬件设备来分析;那么这一节,我们主要讲解输入子系统的软件框架;接下来,我们就进 ......
设备驱动 子系统 字符 设备

字符设备驱动之输入子系统分析(三)

作者:Bright-Ho 联系方式:836665637@qq.com input输入子系统之“事件处理层”分析: 注意:我们现在只是涉及输入子系统的框架;具体细节会涉及到硬件的工作原理,在后面我们写驱动的时候会说到细节方面; 这一节,我们接触到了“事件处理层”;事件处理层包含了evdev.c(事件设 ......
设备驱动 子系统 字符 设备

字符设备驱动之输入子系统分析(一)

作者:Bright-Ho 联系方式:836665637@qq.com 前言背景描述: 虽然在网上看了很多有关输入子系统的资料和视频,但是真正的,系统的,全面的,来弄清输入子系统,还是要花些时间和精力的!现在我以一个初学者的角度来分析input输入子系统; 那么分析input输入子系统之前,得先弄清楚 ......
设备驱动 子系统 字符 设备