上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 16 下一页
摘要: 如果我们想要在ubuntu20.04系统下开发rasp的i2c设备驱动程序,那我们需要在相应的i2c设备树节点里添加设备的node信息。我们先看/boot下有哪些信息: # ls /boot/ -l total 42275-rw-r--r-- 1 root root 233406 Apr 14 17 阅读全文
posted @ 2021-08-13 19:03 闹闹爸爸 阅读(712) 评论(0) 推荐(0) 编辑
摘要: 概述 USB Linux Gadget是一种具有UDC (USB设备控制器)的设备,可以连接到USB主机,以扩展其附加功能,如串口或大容量存储能力。 一个gadget被它的主机视为一组配置,每个配置都包含一些接口,从gadget的角度来看,这些接口被称为功能,每个功能代表一个串行连接或一个SCSI磁 阅读全文
posted @ 2021-08-12 14:57 闹闹爸爸 阅读(6584) 评论(0) 推荐(2) 编辑
摘要: 消费者接口只要求驱动程序包含一个头文件: #include <linux/regulator/consumer.h> 消费者可以是静态的,也可以是动态的。静态调节器只需要一个固定的电源,而动态调节器需要在运行时对调节器进行主动管理。从消费者的角度来看,调节器设备在内核中被表示为一个struct re 阅读全文
posted @ 2021-08-02 18:57 闹闹爸爸 阅读(2326) 评论(0) 推荐(0) 编辑
摘要: 调节器(regulator)是一种为其他设备供电的电子设备。由调节器供电的设备被称为消费者。它们消耗调节器提供的电力。大多数调节器可以启用和禁用他们的输出,一些也可以控制他们的输出电压或电流。驱动程序应该通过特定的函数和数据结构向消费者公开这些功能,这些在稍后讨论。 提供物理调节的芯片被称为电源管理 阅读全文
posted @ 2021-08-02 18:01 闹闹爸爸 阅读(2995) 评论(0) 推荐(0) 编辑
摘要: DMA是计算机系统的一个特性,它允许设备在没有CPU干预的情况下访问主系统内存RAM,然后允许它们投入到其他任务中。人们通常使用它来加速网络流量,但它支持任何类型的拷贝。 DMA控制器是负责DMA管理的外围设备。主要在现代处理器和微控制器中能看到它。DMA有一个用于执行内存读写操作而不占用CPU周期 阅读全文
posted @ 2021-07-23 19:30 闹闹爸爸 阅读(3314) 评论(0) 推荐(0) 编辑
摘要: Devres是一个内核设施,通过自动释放驱动程序中分配的资源来帮助开发人员。它简化了init/probe/open函数中的错误处理。使用Devres,每个资源分配器都有自己的托管版本,负责资源的 release 和 free。 本文严重依赖内核源代码树中的Documentation/drivermo 阅读全文
posted @ 2021-07-22 16:07 闹闹爸爸 阅读(604) 评论(0) 推荐(1) 编辑
摘要: 高速缓存是将频繁访问或新写入的数据从一个小而快的内存中取出或写入的过程,这个过程称为高速缓存。 脏内存是数据支持的(例如文件支持的)内存,其内容已被已修改(通常在缓存中)但尚未写回磁盘。 缓存的版本数据比磁盘版本新,这意味着两个版本不同步。 将缓存数据写回磁盘(后备存储)的机制称为回写。 我们最终将 阅读全文
posted @ 2021-07-22 15:20 闹闹爸爸 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 内核内存有时需要重新映射,从内核到用户空间,或者从内核到内核空间。常见的用例是将内核内存重新映射到用户空间,但是当您需要访问高端内存时,也有其他情况。 kmap Linux内核将其地址空间的896 MB永久地映射到低896 MB的物理内存(低端内存)。在一个4 GB的系统上,内核只剩下128 MB来 阅读全文
posted @ 2021-07-21 18:06 闹闹爸爸 阅读(2139) 评论(0) 推荐(0) 编辑
摘要: 除了执行面向数据RAM的操作外,您还可以执行I/O内存事务来与硬件进行通信。当涉及到访问设备的寄存器时,内核根据系统架构提供了两种可能性: 通过I/O端口:这也称为端口输入输出(PIO)。寄存器可以通过专用总线访问,并且需要特定的指令(通常在汇编程序中)来访问这些寄存器。这是x86体系结构上的情况。 阅读全文
posted @ 2021-07-20 18:19 闹闹爸爸 阅读(2613) 评论(0) 推荐(0) 编辑
摘要: 让我们看一下下面的图,它向我们展示了存在于基于linux的系统上的不同内存分配器,稍后讨论它。 内核内存分配器概述 有一种分配机制可以满足任何类型的内存请求。根据你需要什么样的内存,你可以选择一个最接近你的目标。主要的分配器是页分配器,它只处理页(页是它能交付的最小内存单元)。然后是SLAB分配器, 阅读全文
posted @ 2021-07-19 18:38 闹闹爸爸 阅读(2397) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 16 下一页