首页
›
Linux内核与驱动
›
105-嵌入式设备驱动开发
›
《DMA传输与I2C驱动移植适配工程实践》
VIP10
本课程属于:105-嵌入式设备驱动开发
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
DMA传输与I2C驱动移植适配工程实践
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
DMA基础概念
DMA工作原理 · DMA传输模式(单次/循环/链表) · DMA在嵌入式系统中的角色
DMA
基础概念
02
DMA控制器硬件架构
DMA通道 · 请求线 · 仲裁机制
DMA
控制器硬件架构
03
DMA传输描述符
描述符结构 · 链表配置 · 源地址与目的地址对齐要求
DMA
传输描述符
04
DMA驱动框架(Linux)
dmaengine API · dma_slave_config · dma_async_tx_descr…
DMA
Linux
05
DMA驱动移植步骤
设备树配置 · 平台驱动注册 · DMA通道申请与释放
DMA
驱动移植步骤
06
DMA内存到内存传输
memcpy模式 · scatter-gather列表 · 性能测试方法
DMA
内存到内存传输
07
DMA外设到内存传输
外设触发源配置 · 硬件握手信号 · FIFO阈值设置
DMA
外设到内存传输
08
DMA中断处理
传输完成中断 · 错误中断 · 中断服务函数编写规范
DMA
断处理
09
DMA调试技巧
寄存器dump · trace event · dmatest内核模块使用
DMA
调试技巧
10
DMA性能优化
缓存一致性 · DMA与CPU协同 · 双缓冲机制
DMA
性能优化
11
I2C总线协议详解
起始条件 · 从机地址 · 读写位
I2C
总线协议详解
12
I2C硬件控制器架构
时钟同步 · 仲裁 · SDA/SCL线状态机
I2C
硬件控制器架构
13
I2C驱动框架(Linux)
i2c_adapter · i2c_algorithm · i2c_client
I2C
Linux
14
I2C设备驱动编写
probe函数 · i2c_transfer调用 · regmap接口封装
I2C
设备驱动编写
15
I2C时序参数配置
标准模式(100kHz) · 快速模式(400kHz) · 高速模式(3.4MHz)
I2C
时序参数配置
16
I2C从机驱动实现
从机地址注册 · 接收/发送回调 · NACK处理
I2C
从机驱动实现
17
I2C多主机仲裁
总线冲突检测 · 时钟拉伸 · 重试机制
I2C
多主机仲裁
18
I2C调试与验证
i2c-tools使用 · 逻辑分析仪抓取 · 时序违规检测
I2C
调试
19
I2C驱动移植常见问题
时钟极性 · ACK超时 · 总线锁死恢复
I2C
驱动移植常见问题
20
DMA+I2C协同架构
DMA传输I2C数据的优势 · 硬件触发链 · 数据流模型
DMA+I2C
协同架构
21
I2C DMA传输描述符配置
源/目的地址设置 · 传输长度 · DMA请求线映射
I2C
DMA
22
I2C控制器DMA接口
FIFO深度 · DMA请求阈值 · 突发传输配置
I2C
DMA
23
DMA+I2C驱动移植实战
设备树dmas属性 · dma_slave_config配置
DMA+I2C
驱动移植实战
24
DMA+I2C中断处理
DMA完成中断与I2C事件中断协同 · 状态机设计
DMA+I2C
断处理
25
DMA+I2C错误处理
DMA传输错误 · I2C NACK · 超时恢复策略
DMA+I2C
错误处理
26
DMA+I2C性能测试
吞吐量对比(PIO vs DMA) · 延迟分析 · CPU占用率
DMA+I2C
性能测试
27
多I2C设备DMA共享
DMA通道复用 · 请求优先级 · 资源锁管理
I2C
DMA
28
低功耗场景DMA+I2C
时钟门控 · DMA睡眠唤醒 · 传输队列管理
DMA+I2C
低功耗场景
29
DMA+I2C驱动适配案例
基于STM32MP1平台 · 基于i.MX8M平台
DMA+I2C
驱动适配案例
30
课程总结与工程实践
常见问题FAQ · 代码审查清单 · 性能调优checklist
课程总结
工程实践
所属VIP或分类
同VIP:DMA传输在PCIe驱动中的性能调优方法
同VIP:I2C驱动中的中断处理与DMA调优
同VIP:I2C驱动参数配置与通信机制调试实战