驱动开发
文章平均质量分 96
提供我日常驱动开发过程中学习的一些知识,以及一些特定驱动程序
Leon_Chenl
一个爱运动的boy,专注于嵌入式领域,希望能和志同道合的小伙伴一起学习进步。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux I2C 子系统源码图解
Linux I2C 子系统是一个分层的驱动框架,用于管理 I2C 总线控制器和 I2C 设备。该子系统遵循 Linux 设备驱动模型,将硬件抽象与设备驱动分离,提供了统一的接口供上层驱动使用。驱动开发使用简化驱动注册优先使用设备树而非静态板级信息使用 devm_ 系列函数自动管理资源实现电源管理回调函数数据传输对于简单传输使用 SMBus 接口复杂传输使用注意处理部分传输的情况合理设置超时和重试参数错误处理检查所有 I2C 操作的返回值实现总线恢复机制。原创 2025-11-20 16:10:00 · 1098 阅读 · 0 评论 -
最全 Linux 驱动开发教程—上册
Linux 内核由芬兰学生林纳斯·托瓦兹 (Linus Torvalds) 于 1991 年作为个人爱好创建。这张图片展示了一个基于Linux内核的计算机系统的分层架构,清晰地描绘了软件和硬件之间是如何通过操作系统内核进行交互的。它将系统大致分为了三个主要层次:最上层的用户空间、中间的Linux内核以及最底层的硬件。在最上层的用户空间(橙色大框内),包含了用户直接交互的程序和它们所依赖的库。这里示例了“用户应用A”(User app A)和“用户应用B”(User app B),它们代表了任何我们日常使用的原创 2025-11-03 08:35:04 · 868 阅读 · 0 评论 -
最全 Linux 驱动开发教程—下册
输入子系统(Input Subsystem) 是 Linux 内核中用于管理和处理所有用户输入设备的核心框架。它的主要职责是充当硬件设备和用户空间应用程序之间的桥梁,提供一个统一、标准化的事件处理机制。它最初是为了支持 USB HID(Human Interface Devices,人机接口设备)规范而设计的,但其架构被证明非常灵活,因此迅速扩展到支持几乎所有类型的输入设备,无论它们通过何种总线(如 USB、蓝牙、I2C、PS/2 等)连接。常见的输入设备包括:输入子系统的设计精巧地将复杂的硬件交互与上层的原创 2025-11-03 08:36:51 · 1173 阅读 · 0 评论 -
圣邦微电子 SGM58031 数据手册解读 + Linux 驱动代码
SGM58031 是一款专为精密测量设计的 16 位、低功耗、Sigma-Delta (Σ-Δ) 模数转换器 (ADC)。它具有宽广的工作电源电压范围 (3V 至 5.5V),适用于多种应用场景。该器件集成了关键的片上组件,包括内部电压基准、振荡器和可编程增益放大器 (PGA)。PGA 的引入使其能够支持低至 ±256mV\pm256mV±256mV 的满量程输入范围,非常适合测量微弱信号。SGM58031 具备灵活的输入配置,其输入多路复用器 (MUX) 支持 4 路单端输入或 2 路差分输入。在性能方面原创 2025-11-17 14:37:00 · 931 阅读 · 0 评论
分享