DMA 使用指南

DMA 使用指南

表 1. 术语定义

术语

定义

注释说明

DMA

Direct Memory Access

直接存储器访问

DRQ

DMA Request

指 DMA 请求的端口号

DMA 模块允许总线上的不同设备间的数据自动直接传输,最大优点是可减少 CPU 负载,并且具有高带宽、低延迟的特性:

支持八个 DMA 通道,每通道有 32 个源端和 32 个终端可选

采用链表配置方式,寄存器描述通道状态

设备位宽支持 8/16/32/64 位,Burst 长度支持 1/4/8/16 个

DMA 源端、终端地址 8Byte 对齐

图 1. DMA 硬件的原理框图

从 DMA 硬件的原理框图可以看出,根据数据的源、目的分类,DMA 操作分为以下几种情况:

-

内核中类型定义

含义

1

DMA_MEM_TO_MEM

从内存到内存(包括 DRAM、SRAM),可看作 memcpy()的硬件加速

2

DMA_MEM_TO_DEV

从内存到设备,支持 DMA 操作的设备一般需要提供握手信号、FIFO

3

DMA_DEV_TO_MEM

从设备到内存,是情况 2 的逆操作

4

DMA_DEV_TO_DEV

从设备到设备,这种比较少用

表中的类型定义详见 Linux 代码 include/linux/dmaengine.h

注:

USB、GMAC、eMMC 等模块都有自己内置的 DMA,为了区分开,所以有时候也将本 模块称作 “通用 DMA” 模块。

相关推荐

2024年好用的几款数据库管理工具
365亚洲体育投注

2024年好用的几款数据库管理工具

📅 07-21 👁️ 7720
宏财网是否可信?有哪些优势?
365亚洲体育投注

宏财网是否可信?有哪些优势?

📅 06-30 👁️ 5178