摘要: 1. 中断子系统的核心作用 1.1 屏蔽硬件差异:无论底层是 GIC(ARM 规范中断控制器)还是 GPIO 模拟的中断,驱动程序都使用统一的虚拟中断号(IRQ Number)。 1.2 上下半部管理: 上半部(Top Half):硬中断处理,要求极快,仅处理最紧迫的硬件清理工作。 下半部(Bott 阅读全文
posted @ 2026-04-16 16:29 r5ett 阅读(5) 评论(0) 推荐(0)
摘要: 1. IIO 子系统的作用 IIO 填补了 Input 子系统(处理键盘、鼠标)和 HWMON 子系统(处理风扇、温度监控)之间的空白: 统一接口:通过 sysfs(简单读取)和 字符设备(连续大数据流读取)提供数据。 缓冲管理:支持硬件 FIFO 和内核软件 Buffer(触发式采集)。 触发机制 阅读全文
posted @ 2026-04-16 11:49 r5ett 阅读(5) 评论(0) 推荐(0)
摘要: 1. GPIO 子系统的作用 GPIO 子系统的核心任务是 “硬件抽象”。它将底层不同 SoC 厂家的 GPIO 控制器寄存器操作隐藏起来,为驱动开发者提供一套统一的 API。 引脚管理:防止多个驱动程序同时操作同一个 GPIO 引脚造成冲突。 输入/输出控制:设置引脚方向,读取电平或输出高低电平。 阅读全文
posted @ 2026-04-16 11:11 r5ett 阅读(10) 评论(0) 推荐(0)
摘要: Pinctrl 子系统的作用就是:负责引脚的复用(Mux)和电气特性的配置(Config)。 1. 主要还是用设备树 在讲 API 之前,必须先澄清一个让很多新手困惑的事实:在 95% 的驱动开发中,你不需要在 C 代码里写任何一行 Pinctrl 的代码! 为什么?因为 Linux 设备模型(De 阅读全文
posted @ 2026-04-16 09:38 r5ett 阅读(7) 评论(0) 推荐(0)
摘要: Linux 的 Platform 子系统(平台总线) 是 Linux 设备驱动模型(Device Model)的绝对基石。将那些直接挂在 CPU 内存空间、不支持热插拔、不能被自动探测的设备,强行纳入 Linux 统一的“总线-设备-驱动”模型中。 1. 核心数据结构 1.1 struct plat 阅读全文
posted @ 2026-04-15 19:48 r5ett 阅读(8) 评论(0) 推荐(0)
摘要: DMA(Direct Memory Access)子系统是 Linux 内核中处理高性能数据传输的核心。在驱动开发中,主要涉及 DMA 映射(Mapping) 和 DMA 引擎(DMA Engine) 两大部分。 1. 核心结构体 1.1 dma_addr_t DMA 缓冲区的总线物理地址(交给 S 阅读全文
posted @ 2026-04-15 10:29 r5ett 阅读(7) 评论(0) 推荐(0)
摘要: #1. 核心结构体 ##1.1 struct i2c_client 它代表了一个挂载在 I2C 总线上的具体外设设备。 struct i2c_client { unsigned short flags; /* 标志位:包含 I2C_CLIENT_TEN(10位地址)、I2C_CLIENT_PEC(奇 阅读全文
posted @ 2026-04-13 15:08 r5ett 阅读(6) 评论(0) 推荐(0)
摘要: SPI 子系统是 Linux 内核中用于处理串行外设接口的框架。它采用了典型的“控制器/设备”分离模型。 1.核心结构体 1.1 struct spi_device 代表一个具体的 SPI 外设(从机)。包含片选号、最大频率、模式等硬件参数。 struct spi_device struct spi 阅读全文
posted @ 2026-04-10 17:17 r5ett 阅读(5) 评论(0) 推荐(0)
摘要: universal bootloader 1. u-boot功能 1.1 u-boot流程 假设一上电就运行u-boot,目的是启动内核 (1)先运行u-boot,启动内核 (1.1)初始化内存 (1.2)初始化其他硬件 (1.2.1)时钟 (1.2.2)flash等 (1.3)读flash,把内核 阅读全文
posted @ 2026-04-10 08:46 r5ett 阅读(5) 评论(0) 推荐(0)
摘要: 1.普适的GPIO引脚操作方法 使能引脚 设置工作模式 设置方向(输入/输出) 读寄存器/写寄存器 2.IMX6ULL的GPIO操作方法(参考芯片手册IMX6ULLRM.pdf) CCM: Clock Controller Module(时钟控制模块) IOMUXC : IOMUX Controll 阅读全文
posted @ 2026-04-10 08:46 r5ett 阅读(5) 评论(0) 推荐(0)