SPI SPISPI 简介什么是SPI之前我们讲解了 I2C,I2C 是串行通信的一种,只需要两根线就可以完成主机和从机之间的通信,但是 I2C 的速度最高只能到 400KHz,如果对于访问速度要求比价高的话 I2C 就不适合了。本章我们就来学习一下另外一个和 I2C 一样广泛使用的串行通信:SPI,SPI 全称是 SerialPerripheral Interface,也就是串行外围设备接口。SPI 是 2024-11-22 spi #spi
I2C I2CI2C 简介什么是I2CI2C 是很常见的一种总线协议,I2C 是 NXP 公司设计的,I2C 使用两条线在主控制器和从机之间进行数据通信。一条是 SCL(串行时钟线),另外一条是 SDA(串行数据线),这两条数据线需要接上拉电阻,总线空闲的时候 SCL 和 SDA 处于高电平。I2C 总线标准模式下速度可以达到 100Kb/S,快速模式下可以达到 400Kb/S。I2C 2024-11-22 i2c #i2c
Hibernate (kernel 5.10) Hibernate (kernel 5.10)state_store1234567891011121314151617181920212223242526272829303132333435363738static ssize_t state_store(struct kobject *kobj, struct kobj_attribute *attr, const char *buf, 2025-03-18 Power Management #Power Management
Clangd配置 手动编译clangdCMake版本要求根据llvm警告,cmake版本不低于3.20.0 通过下载二进制程序直接使用 https://github.com/Kitware/CMake/releases/在此链接下下载自己架构对应的cmake二进制程序 1234#解压cmaketar -zxvf cmake-4.0.0-rc4-linux-x86_64.tar.gz#添加环境变量export PAT 2025-03-12 config #config
内核定时器 内核定时器时间管理和内核定时器简介内核事件管理简介Linux 内核中有大量的函数需要时间管理,比如周期性的调度程序、延时程序、对于我们驱动编写者来说最常用的定时器。硬件定时器提供时钟源,时钟源的频率可以设置, 设置好以后就周期性的产生定时中断,系统使用定时中断来计时。中断周期性产生的频率就是系统频率,也叫做节拍率(tick rate)(有的资料也叫系统频率),比如 1000Hz,100Hz 等等说 2024-12-30 定时器 #定时器
字符设备驱动 字符设备驱动简介字符设备是 Linux 驱动中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。比如我们最常见的点灯、按键、IIC、SPI,LCD 等等都是字符设备,这些设备的驱动就叫做字符设备驱动。在详细的学习字符设备驱动架构之前,我们先来简单的了解一下 Linux 下的应用程序是如何调用驱动程序的,Linux 应用程序对驱动程序的调用如图 4 2024-12-09 字符设备驱动 #字符设备驱动
Linux中断 Linux 中断中断 API 函数对于硬件的中断处理方法: ①、使能中断,初始化相应的寄存器。 ②、注册中断服务函数,也就是向 irqTable 数组的指定标号处写入中断服务函数 ②、中断发生以后进入 IRQ 中断服务函数,在 IRQ 中断服务函数在数组 irqTable 里面查找具体的中断处理函数,找到以后执行相应的中断处理函数。 在 Linux 内核中也提供了大量的中断相关的 API 函数,我 2024-11-25 irq #irq
device tree Linux 设备树什么是设备树?设备树(Device Tree),将这个词分开就是“设备”和“树”,描述设备树的文件叫做 DTS(Device Tree Source),这个 DTS 文件采用树形结构描述板级设备,也就是开发板上的设备信息,比如CPU 数量、 内存基地址、IIC 接口上接了哪些设备、SPI 接口上接了哪些设备等等,如图 43.1.1所示: 在图 43.1.1 中,树的主干就是系 2024-11-21 device tree #device tree
platform框架 platform平台设备驱动框架linux驱动分层与分离驱动的分层与分离对于 Linux 这样一个成熟、庞大、复杂的操作系统,代码的重用性非常重要,否则的话就会在 Linux 内核中存在大量无意义的重复代码。尤其是驱动程序,因为驱动程序占用了 Linux内核代码量的大头,如果不对驱动程序加以管理,任由重复的代码肆意增加,那么用不了多久Linux 内核的文件数量就庞大到无法接受的地步。 假如现在有三 2024-11-21 platform #platform