首页
›
Linux内核与驱动
›
001-Linux内核
›
《Linux I2C控制器驱动开发与时序仲裁调试》
VIP10
本课程属于:001-Linux内核
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux I2C控制器驱动开发与时序仲裁调试
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
I2C总线概述
I2C总线历史 · 物理层特性 · SDA与SCL信号线
I2C
总线概述
02
I2C协议基础
起始条件 · 停止条件 · 数据字节传输
I2C
协议基础
03
I2C地址与寻址
7位地址与10位地址格式 · 广播地址 · 保留地址
I2C
地址
04
I2C时钟频率概念
标准模式(100kHz) · 快速模式(400kHz) · 高速模式(3.4MHz)
I2C
时钟频率概念
05
时钟频率与SCL时序
SCL高电平时间 · 低电平时间 · 上升时间
SCL
时钟频率
06
时钟频率计算原理
基于系统时钟分频 · 预分频器与周期寄存器配置
时钟频率计算原理
基于系统时钟分频
07
I2C时钟同步机制
时钟拉伸(Clock Stretch… · 从设备控制SCL · 同步原理
I2C
时钟同步机制
08
时钟频率对总线负载的影响
总线电容 · 上拉电阻选择 · 最大从设备数量
时钟频率对总线负…
总线电容
09
Linux内核I2C子系统架构
I2C核心层 · I2C总线驱动层 · I2C设备驱动层
Linux
I2C
10
I2C控制器驱动框架
struct i2c_adapter · struct i2c_algorit… · 注册与注销
I2C
控制器驱动框架
11
设备树中I2C控制器节点
compatible属性 · clock-frequency属性 · reg属性
I2C
设备树
12
I2C控制器驱动初始化
platform_driver结构 · probe函数 · 资源获取(时钟
I2C
控制器驱动初始化
13
时钟频率配置实现
读取设备树clock-frequen… · 计算分频系数 · 写入时钟寄存器
时钟频率配置实现
clock-freque…
14
I2C时序寄存器详解
SCL高电平计数寄存器 · 低电平计数寄存器 · 数据保持时间寄存器
I2C
时序寄存器详解
15
时钟频率动态调整
运行时通过ioctl或sysfs修改… · 重新计算时序参数
时钟频率动态调整
ioctl
16
I2C总线仲裁概念
多主设备环境 · 仲裁原理 · SDA线竞争与裁决
I2C
总线仲裁概念
17
仲裁丢失检测与处理
硬件仲裁丢失中断 · 软件状态机恢复 · 总线释放
仲裁丢失检测
处理
18
I2C总线冲突避免
总线空闲检测 · 起始条件竞争 · 仲裁优先级
I2C
总线冲突避免
19
Linux内核中仲裁实现
I2C控制器硬件支持 · 中断处理函数 · 状态机设计
Linux
内核
20
多主设备通信场景
主设备切换 · 总线所有权转移 · 重试机制
多主设备通信场景
主设备切换
21
I2C传输超时处理
超时定时器 · 传输状态监控 · 错误恢复流程
I2C
传输超时处理
22
I2C中断处理设计
TX中断 · RX中断 · 错误中断(仲裁丢失
I2C
断处理设计
23
I2C DMA传输集成
DMA引擎配置 · 描述符链 · 与PIO模式切换
I2C
DMA
24
I2C电源管理
运行时PM · 系统挂起/恢复 · 时钟门控
I2C
电源管理
25
I2C调试与跟踪
动态调试(dynamic debug… · ftrace · I2C总线分析仪
I2C
调试
26
I2C控制器驱动测试
loopback测试 · 多从设备读写测试 · 压力测试
I2C
控制器驱动测试
27
常见I2C控制器硬件IP
DesignWare I2C · OMAP I2C · i.MX I2C
I2C
IP
28
I2C驱动性能优化
中断合并 · 批量传输 · 缓存对齐
I2C
驱动性能优化
29
I2C驱动安全与稳定性
输入验证 · 竞态条件处理 · 内存屏障
I2C
驱动安全
30
I2C驱动开发实战
从零编写一个虚拟I2C控制器驱动 · 集成到内核 · 验证功能
I2C
驱动开发实战
所属VIP或分类
同VIP:Linux内核PCIe驱动:配置空间访问与DMA传输实现
同VIP:Linux内核SPI控制器驱动:FIFO与DMA传输优化
同VIP:Linux内核USB驱动开发与URB传输调试