Linux SPI
围绕 SPI 总线基础展开,说明其以 SCLK、MOSI、MISO、CS 四线实现同步全双工通信,采用主从结构并支持多从设备连接,同时梳理各信号线作用、硬件连接关系及基于时钟周期的收发原理。
Linux I2C
围绕 Linux 驱动中的 I2C,总结其主从架构、SCL/SDA 双线通信、启动/停止与应答机制、速率和寻址方式,并结合 RK3568 说明硬件 I2C、GPIO 模拟软件 I2C及上拉电阻的作用。
Linux 单总线
单总线是一种仅用一根信号线实现双向数据与时钟传输的主从串行通信协议,需上拉电阻并严格遵循初始化、ROM 操作和功能命令时序;文章以 DS18B20 温度传感器为例,说明其特性、供电方式、引脚封装和单总线组网应用。
Linux 输入子系统
Linux input 子系统为键盘、鼠标、触摸屏等输入设备提供统一驱动框架和事件接口,提升兼容性并简化驱动与应用开发;同时说明了设备节点对应关系的判断方法及事件处理层等框架职责。
Linux GPIO子系统
围绕 Linux GPIO 子系统梳理 GPIO 的基本概念、RK3568 引脚分布与编号计算、电平/驱动强度/上下拉/中断等电气特性,并说明通过 sysfs、libgpiod 等方式导出和控制 GPIO 的基本流程。
Linux pinctrl 子系统
围绕 Linux pinctrl 子系统,说明 RK3568 设备树中 pin controller 与 GPIO bank 的组织关系、pinctrl 驱动匹配与 platform 总线机制,并解释 groups/function 概念及 Rockchip 相关结构体作用。
Linux热插拔
Linux 热插拔允许设备在系统运行中安全插入或拔出,其机制依赖内核通过 kobject_uevent 生成 uevent 并经 netlink 通知用户空间,由 mdev、udev 等工具完成设备节点创建、删除及驱动管理。
Linux设备模型
Linux 设备模型为复杂驱动提供统一的设备注册、资源管理、热插拔和电源管理机制,提升代码复用与模块化;其核心包括 kobject/kset,通过层次化内核对象映射 sysfs 目录,并借助相关 API 完成对象创建、初始化和管理。
Linux设备树
设备树用于以平台无关方式描述嵌入式硬件,降低 Linux 内核与硬件耦合,改善 ARM 平台配置代码的可维护性。内容涵盖 DTS/DTSI/DTB/DTC 概念、ARM64 源码路径与编译/反编译方法,以及节点、标签、属性和 reg 等基本语法。
Linux平台总线
Linux 平台总线用于管理不经 PCI、USB、I2C、SPI 等标准总线发现的 SoC 或主板集成设备,通过匹配并绑定 platform_device 与 platform_driver,实现设备与驱动分离,并说明平台设备注册及 resource 资源描述的关键字段。
