设备驱动
t113-c-led驱动篇(调用设备树)
既然已经学会了调用驱动,那么接下来简单点个灯 查看led所在寄存器 我板子的led所控制的是pd22,所在寄存器应该是0x02000098 然而这和我在设备树上找到的地址有出入,很奇怪,那就不管这个了自己添加一个吧。 自己在board.dts上加一个ledio: 我们看见这里有个&pio,而pio又 ......
t113-c-设备树-驱动调用篇(获取设备节点和属性)
我们以pwm为例 编写程序 1.首先编写出入口函数 // #include "linux/module.h" // #include "linux/fs.h" // //#include "linux/stddef.h" // #include "linux/types.h" // //#inclu ......
t113-c字符型驱动复盘(自动创建设备文件)
整个代码 // #include "linux/module.h" // #include "linux/fs.h" // //#include "linux/stddef.h" // #include "linux/types.h" // //#include "crypto/if_alg.h" ......
t113-c-内核字符型设备驱动篇
那么既然ko的驱动已经可以运行,那么我们来写几个简单的操作设备树的内核驱动 字符型设备驱动和应用层 这俩种代码是分开的,设备驱动调用的是内核的地址,而应用层则是相当于虚拟地址,所以应用层传递参数的时候不能直接付给指针,要调用相对于的参数 内核->驱动->应用 驱动的编写 找到sdk内的例程,按照例程 ......
设备驱动-10-异常中断引入
#1 中断与异常 ![image](https://img2023.cnblogs.com/blog/1876680/202306/1876680-20230630160703330-884399015.png) CPU 在运行的过程中,也会被各种“异常”打断。这些“异常”有: - 1.指令未定义 ......
设备和驱动器图标怎么删除
我的电脑/设备与驱动器上图标(腾讯32位)/删除 步骤4_哔哩哔哩_bilibili 运行——regedit——注册表中找NameSpace,地址如下,文件夹中全删,就可以了 ......
Microsoft PostScript和PCL6 Class打印机驱动是Windows操作系统提供的标准打印机驱动程序,用于支持PostScript和PCL6语言的打印机设备。
Microsoft PostScript和PCL6 Class打印机驱动是Windows操作系统提供的标准打印机驱动程序,用于支持PostScript和PCL6语言的打印机设备。 这些类打印机驱动程序是为了方便用户在Windows操作系统上使用广泛的打印机设备而开发的。它们可以与各种厂商的打印机兼容 ......
Windows Bluetooth Driver(Windows 蓝牙驱动程序)是一种用于在 Windows 操作系统上管理和控制蓝牙设备的软件程序。它提供了与蓝牙硬件通信的接口,允许用户连接、配对和使用蓝牙设备,如键盘、鼠标、耳机、音箱等
Windows Bluetooth Driver(Windows 蓝牙驱动程序)是一种用于在 Windows 操作系统上管理和控制蓝牙设备的软件程序。它提供了与蓝牙硬件通信的接口,允许用户连接、配对和使用蓝牙设备,如键盘、鼠标、耳机、音箱等。 Windows 默认提供了内置的蓝牙驱动程序,可以通过操 ......
linux文件系统和设备驱动+file结构体
1,文件系统和设备驱动之间的关系 1)应用程序和VFS之间是系统调用; 2)VFS与文件系统以及设备文件之间的接口是file_operations结构体成员函数,这个结构体可以对文件进行打开,读写,定位,控制等操作;如下图所示: 3)由于字符设备的上层没有类似磁盘的ext2等文件系统,所以字符设备的 ......
"ntoskrnl"代表"NT Operating System Kernel",它是Windows操作系统的主要核心模块之一,负责管理系统的内存、进程调度、设备驱动程序和系统服务等关键任务。它是Windows内核的主要部分,提供操作系统的基本功能和支持
Windows内核是微软Windows操作系统的核心组件,它负责管理操作系统的核心功能和提供关键的系统服务。Windows内核是运行在计算机硬件上的软件,它与硬件交互并管理资源分配、进程管理、设备驱动程序和系统安全等任务。 Windows内核采用了一种称为“**混合内核**”的设计,结合了传统的单内 ......
C:\Windows\Inf\ 存储设备驱动程序信息 提供设备驱动程序安装和配置 存储硬件设备的信息 提供驱动程序的升级和更新
C:\Windows\Inf\ 是 Windows 操作系统中的一个文件夹,它在系统中起着重要的作用,并具有以下功能: 存储设备驱动程序信息:C:\Windows\Inf\ 文件夹是 Windows 操作系统用于存储设备驱动程序信息的位置之一。当您在计算机上安装硬件设备时,相关的驱动程序文件会被复制 ......
关于Digispark安装驱动后插入在设备管理器的“通用串行总线设备”分类下显示为“micronucleus”的问题
依据[micronucleus的github](https://github.com/micronucleus/micronucleus/tree/master/windows_driver_installer)和查询到的另一些资料解决了该问题,在此处备份防止遗忘。 前往[https://zadig ......
字符设备驱动-9.内核定时器
#1 引入定时器 前面的[gpio按键驱动](https://www.cnblogs.com/fuzidage/p/17438371.html "gpio按键驱动") 引入了中断,当按键按下会记录按键信息,理想状况是按下一次按键记录一组数据,但实际上按下机械振动导致电平反复跳动最后才稳定,按下一次g ......
字符设备驱动-8.休眠唤醒机制
# 1 休眠与唤醒 ![image](https://img2023.cnblogs.com/blog/1876680/202306/1876680-20230609173154834-817922318.png) 1.APP 调用 read 等函数试图读取数据,比如读取按键; 2.APP 进入内核 ......
字符设备驱动-7.异步通知
# 1.异步通知概述 前面讲到[APP 读取按键方式](https://www.cnblogs.com/fuzidage/p/17080773.html)里面包含4种方式:1.查询方式,2.休眠唤醒,3,poll机制的休眠唤醒,4.异步通知 什么是异步通知? 你去买奶茶: ◼ 你在旁边等着,眼睛盯着 ......
转载-吴伟东-2022 年了,重新理解一波设备驱动
原文链接:https://mp.weixin.qq.com/s/qqxDObNs8vjTFLQueX1J-A 哈喽,我是老吴。 非常怀念写文章的感觉。 昨晚复习了一些 Linux 驱动的基础知识,给大家分享一下吧。 先说结论: 多年来,我接触到的 Linux 驱动教程大多都是从 0 编写,这样对初学 ......
Windows驱动开发学习记录 根据DeviceObject获取设备名称和硬件ID
获取设备名称 POBJECT_NAME_INFORMATION pName = (POBJECT_NAME_INFORMATION)ExAllocatePoolWithTag(NonPagedPool, 1024, 'name'); if (pName) { ntStatus = ObQueryNa ......
BitLocker是Windows的一种全磁盘加密功能,可以将整个硬盘驱动器或其他可移动存储设备加密,从而保护计算机上的数据安全。以下是一些常用的 BitLocker 命令
BitLocker是Windows的一种全磁盘加密功能,可以将整个硬盘驱动器或其他可移动存储设备加密,从而保护计算机上的数据安全。以下是一些常用的 BitLocker 命令: 启用 BitLocker 加密: manage-bde –on <驱动器字母> -rp 例如:manage-bde –on ......
编写LED驱动-设备树
写LED驱动 首先,我们要建立一个file_operator结构体: /* 定义自己的file_operations结构体 */ static struct file_operations led_drv = { .owner = THIS_MODULE, //主设备号 .open = led_dr ......
字符设备驱动的框架
#字符设备驱动框架 编写字符驱动设备框架时,主要的工作量在入口函数,卸载函数以及其设备文件操作函数当中。 现在的很多板子写驱动不会像下面的程序这样的繁琐,但是从其中基本可以看到框架大体没变,所以用chatgpt生成了找个函数并修改,搭了字符设备驱动的框架。 首先我们得明白一个字符设备驱动,在linu ......
第五章 输入输出系统 5.4 设备驱动程序
一、设备驱动程序概述 1.设备驱动程序功能 ①接收由I/O进程发来的命令和参数, 并将命令中的抽象要求(read,write命令)转换为具体要求。 ②检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。 ③发出I/O命令并检查设备状态。 ④及时响应由控制器或通道发来的 ......
linux设备树-LCD触摸屏设备驱动
内核版本:linux 5.2.8根文件系统:busybox 1.25.0u-boot:2016.05 在上一节我们已经移植了LCD驱动,那么本节将会移植LCD触摸屏驱动。有关触摸屏的原理,以及硬件接线,我们在linux驱动移植-LCD触摸屏设备驱动章节已经介绍的非常清楚了。同时在这一篇博客,我们也详 ......
linux设备树-LCD驱动程序
一、修改设备树 1.1 硬件接线 1.2 修改s3c2440-pinctrl.dtsi 修改内核arch/arm/boot/dts/s3c2440-pinctrl.dtsi文件,在pinctrl节点下添加两个引脚配置节点: lcd_pinctrl: lcd_pinctrl { samsung,pin ......
linux设备树-按键中断驱动
一、修改设备树 1.1 硬件接线 查看Mini2440原理图、S3C2440数据手册,了解如何读取按键的状态。这里粗略介绍一下Mini2440 K1~K6的接线方式: K1~K6依次对应引脚GPG0、GPG3、GPG5、GPG6、GPG7、GPG11; 按键按下引脚输入低电平、按键松开引脚输入高电平 ......
字符设备驱动-5.设备树函数
1.设备树相关的头文件 1.处理 DTB of_fdt.h // dtb 文件的相关操作函数, 我们一般用不到, // 因为 dtb 文件在内核中已经被转换为 device_node 树(它更易于使用) 2.处理 device_node of.h // 提供设备树的一般处理函数, // 比如 of_ ......
linux设备树-基于pinctrl的LED字符设备驱动
在前面我们已经介绍了pinctrl subsytem相关的基础知识,这一节我们尝试dts在pin controller node下添加两个子节点,分别用来控制LED1~LED4的全亮/全灭。然后我们编写LED驱动程序,配置LED的两种状态: default:默认状态,LED1~LED4全亮; myl ......
linux设备树-pin控制器驱动
内核版本:linux 5.2.8根文件系统:busybox 1.25.0u-boot:2016.05 上一节我们已经分析了pinctrl subsystem,这一节将会介绍pin controller driver的编写。其主要包含两个步骤: 为SoC pin controller分配一个pinct ......
15 设备类型与设备驱动
设备分类: 例如网络设备、触控设备等,在krldevice_t.h文件中; 设备驱动: 设备: device_t 结构代表一个设备类型,其中devid_t 结构代表设备id结构,包含设备类型、设备号、子设备号等; 驱动: driver_t 结构代表一个驱动程序,包含驱动名、驱动程序id、驱动程序管理 ......
字符设备驱动-4.设备树
1.为什么引用设备树 在内核中,使用同一个芯片的板子,它们所用的外设资源不一样,比如 A 板用 GPIO A,B 板用 GPIO B, 如果用plateform_device定义资源信息,那么每次单板硬件资源变动后,都要改驱动程序源码,重新编译驱动,重新加载驱动,非常麻烦。 随着 ARM 芯片的流行 ......