枚举 | |
enum | DmaMemType { DMA_CACHE , DMA_NOCACHE } |
函数 | |
VOID * | LOS_DmaMemAlloc (DMA_ADDR_T *dmaAddr, size_t size, size_t align, enum DmaMemType type) |
分配DMA空间 更多... | |
VOID | LOS_DmaMemFree (VOID *vaddr) |
释放 DMA指针 更多... | |
DMA_ADDR_T | LOS_DmaVaddrToPaddr (VOID *vaddr) |
将DMA虚拟地址转成物理地址 更多... | |
enum DmaMemType |
DMA,全称Direct Memory Access,即直接存储器访问。 DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。 DMA的作用就是实现数据的直接传输,而去掉了传统数据传输需要CPU寄存器参与的环节,主要涉及四种情况的数据传输, 但本质上是一样的,都是从内存的某一区域传输到内存的另一区域(外设的数据寄存器本质上就是内存的一个存储单元) *
枚举值 | |
---|---|
DMA_CACHE | 有缓存的DMA |
DMA_NOCACHE | 无缓存的DMA |
在文件 los_vm_iomap.h 第 54 行定义.
VOID * LOS_DmaMemAlloc | ( | DMA_ADDR_T * | dmaAddr, |
size_t | size, | ||
size_t | align, | ||
enum DmaMemType | type | ||
) |
分配DMA空间
在文件 los_vm_iomap.c 第 86 行定义.
VOID LOS_DmaMemFree | ( | VOID * | vaddr | ) |
DMA_ADDR_T LOS_DmaVaddrToPaddr | ( | VOID * | vaddr | ) |