首页
›
Linux内核与驱动
›
035-Linux内核DMA编程
›
《DMA控制器驱动开发:描述符接口与中断处理实践》
VIP10
本课程属于:035-Linux内核DMA编程
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
DMA控制器驱动开发:描述符接口与中断处理实践
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
DMA控制器概述
DMA工作原理 · DMA在嵌入式系统中的作用 · DMA与CPU的数据搬运对比
DMA
控制器概述
02
DMA控制器硬件架构
DMA控制器内部组成(通道 · 仲裁器 · 地址发生器)
DMA
控制器硬件架构
03
DMA传输类型
内存到内存 · 内存到外设 · 外设到内存
DMA
传输类型
04
DMA传输粒度与突发传输
单次传输 · 突发传输(Burst) · 传输宽度(8/16/32/64位)配…
DMA
传输粒度
05
DMA描述符概念
描述符(Descriptor)定义 · 描述符链(Descriptor Ch… · 描述符在内存中的布局
DMA
描述符概念
06
描述符数据结构设计
描述符字段详解(源地址 · 目的地址 · 传输长度
描述符数据结构设…
描述符字段详解
07
描述符链表编程
链表初始化 · 节点插入 · 节点删除
描述符链表编程
链表初始化
08
硬件描述符与软件描述符映射
硬件描述符寄存器映射 · 软件描述符结构体定义 · 内存对齐要求
硬件描述符
软件描述符映射
09
DMA通道管理
通道分配与释放 · 通道优先级配置 · 通道使能与禁用
DMA
通道管理
10
DMA控制器初始化流程
时钟使能 · 复位控制 · 全局配置寄存器设置
DMA
控制器初始化流程
11
描述符提交接口设计
submit_descriptor(… · 描述符队列管理 · 环形缓冲区设计
描述符提交接口设…
submit
12
DMA传输启动与停止
通道启动触发方式(软件触发/硬件触发… · 传输暂停与终止操作
DMA
传输启动
13
DMA中断类型
传输完成中断 · 传输错误中断 · 半传输中断
DMA
断类型
14
中断控制器与DMA中断路由
GIC中断控制器基础 · DMA中断号分配 · 中断触发类型配置
DMA
断控制器
15
中断服务程序(ISR)设计
ISR注册流程 · 中断上下文注意事项 · 中断处理函数编写规范
ISR
断服务程序
16
中断处理中的描述符回传
完成回调机制 · 描述符状态更新 · 错误处理与重试逻辑
断处理
描述符回传
17
中断下半部机制
Tasklet · Workqueue · threaded IRQ在DMA中断…
断下半部机制
Tasklet
18
DMA驱动框架(Linux)
platform driver模型 · 设备树绑定 · DMA engine API(dma…
DMA
Linux
19
dmaengine API详解
dma_request_channe… · dmaengine_prep_sla… · dmaengine_submit
dmaengine
API
20
描述符回调函数注册
回调函数类型(completion/… · 回调上下文传递 · 线程安全设计
描述符回调函数注…
completion
21
多通道并发传输
通道间同步 · 资源锁(spinlock/mutex… · 死锁预防策略
多通道并发传输
通道间同步
22
DMA传输性能优化
缓存一致性处理(DMA API) · 内存屏障 · 预取与写合并
DMA
传输性能优化
23
调试与日志
动态打印(dev_dbg) · 传输状态寄存器读取 · 描述符内容dump工具
调试
日志
24
常见DMA错误与处理
总线错误 · 描述符错误 · 超时错误
DMA
常见
25
DMA与MMU/IOMMU交互
IOMMU映射 · 物理地址与虚拟地址转换 · SMMU配置
DMA
MMU/IOMMU
26
电源管理
DMA控制器挂起/恢复 · 运行时电源管理(runtime PM… · 时钟门控
电源管理
DMA
27
DMA驱动测试方法
单元测试框架(kunit) · loopback测试 · 性能基准测试
DMA
驱动测试方法
28
实际案例1
UART DMA传输驱动实现(描述符… · 中断处理 · 数据接收)
实际案例1
UART
29
实际案例2
音频I2S DMA传输驱动实现(多描… · 周期中断 · 双缓冲)
实际案例2
I2S
30
课程总结与进阶
DMA驱动开发常见陷阱 · 社区最佳实践 · 进一步学习资源(Linux内核文档
课程总结
进阶
所属VIP或分类
同VIP:DMA中断处理:tasklet与工作队列延迟优化
同VIP:DMA驱动移植:从旧版dmaengine到新API升级
同VIP:Linux-DMA地址映射与IOMMU-SMMU配置调试