首页
›
Linux内核与驱动
›
072-嵌入式Linux驱动
›
《I2C SPI外设驱动与DMA传输结合实现高性能通信》
VIP10
本课程属于:072-嵌入式Linux驱动
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
I2C SPI外设驱动与DMA传输结合实现高性能通信
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导论
I2C与SPI总线概述 · DMA技术简介 · 高性能通信的意义与挑战
课程导论
I2C
02
I2C总线协议详解
物理层 · 时序 · 起始/停止条件
I2C
总线协议详解
03
I2C总线协议进阶
多主机仲裁 · 时钟同步 · 10位地址模式
I2C
总线协议进阶
04
SPI总线协议详解
物理层 · 4线制(SCK/MOSI/MISO/… · CPOL/CPHA模式
SPI
总线协议详解
05
SPI总线协议进阶
多从机配置 · 菊花链模式 · 双线/四线SPI(QSPI)
SPI
总线协议进阶
06
DMA控制器基础
DMA工作原理 · 传输类型(内存到内存 · 外设到内存
DMA
控制器基础
07
DMA控制器进阶
链表模式(Scatter-Gathe… · 多通道优先级 · 中断与回调机制
DMA
控制器进阶
08
I2C外设驱动设计(轮询模式)
寄存器配置 · 起始/停止信号生成 · 字节发送/接收
I2C
外设驱动设计
09
I2C外设驱动设计(中断模式)
TX/RX中断 · NACK处理 · 状态机实现
I2C
外设驱动设计
10
I2C外设驱动设计(DMA模式)
DMA请求映射 · 传输完成中断 · 环形缓冲区设计
I2C
DMA
11
SPI外设驱动设计(轮询模式)
寄存器配置 · 时钟极性/相位设置 · 字节发送/接收
SPI
外设驱动设计
12
SPI外设驱动设计(中断模式)
TX/RX FIFO中断 · 半双工/全双工处理 · 数据帧格式
SPI
外设驱动设计
13
SPI外设驱动设计(DMA模式)
DMA双缓冲机制 · 连续传输 · CS自动控制
SPI
DMA
14
DMA描述符与链表设计
描述符结构体定义 · 链表初始化 · 硬件自动加载
DMA
描述符
15
I2C DMA传输优化
批量数据传输 · 多从机轮询 · DMA与CPU协同
I2C
DMA
16
SPI DMA传输优化
高速数据流(如ADC/DAC) · 双缓冲乒乓操作 · 帧同步信号处理
SPI
DMA
17
中断与DMA协同设计
中断优先级配置 · DMA传输完成中断 · 错误中断处理
DMA
协同设计
18
缓存一致性问题
CPU Cache与DMA冲突 · Cache刷新/无效化操作 · 非Cache内存区域配置
缓存一致性问题
CPU
19
DMA传输错误处理
总线错误 · 传输超时 · FIFO溢出/下溢
DMA
传输错误处理
20
I2C/SPI驱动框架设计
分层架构(HAL/LL/应用层) · 设备抽象 · 回调函数注册
I2C/SPI
驱动框架设计
21
RTOS集成
FreeRTOS任务与DMA中断 · 信号量/消息队列同步 · DMA传输阻塞与非阻塞API
RTOS
集成
22
性能基准测试
吞吐量测量(MB/s) · CPU占用率分析 · 延迟测量(us级)
性能基准测试
MB/s
23
案例分析
I2C驱动温湿度传感器(SHT30)… · 中断 · DMA三种实现对比
案例分析
I2C
24
案例分析
SPI驱动高速ADC(ADS1271…
案例分析
SPI
25
案例分析
SPI驱动LCD显示屏(ILI934…
案例分析
SPI
26
案例分析
I2C驱动EEPROM(AT24C2…
案例分析
I2C
27
调试与工具
逻辑分析仪抓取I2C/SPI波形 · DMA寄存器查看 · Tracealyzer性能分析
调试
工具
28
常见问题与解决方案
DMA传输未完成 · 数据错位 · 总线锁死
常见问题
解决方案
29
高级话题
多核处理器DMA(如STM32H7… · DMA与FPGA协同 · PCIe DMA对比
高级话题
DMA
30
课程总结与展望
I2C/SPI+DMA最佳实践总结 · 未来趋势(I3C · eSPI)
课程总结
I2C/SPI+DMA
所属VIP或分类
同VIP:I2C外设驱动结合中断处理实现传感器数据采集
同VIP:SPI外设驱动与DMA传输结合内存映射性能调优
同VIP:SPI外设驱动开发与Linux内核spi子系统