dma_map_single可以使用任意的地址吗?
如题,使用dma_map_single来映射一块内存用于dma操作时,这个内存可以是任意地址比如说我堆栈中里的变量地址吗?还是说必须要cache对齐才行
又,有没有什么办法可以把应用层的一块内存传到内核,然后驱动通过dma直接把数据接收到这块缓存中(内存是随意地址的,可能未对齐)
又,有没有什么办法可以把应用层的一块内存传到内核,然后驱动通过dma直接把数据接收到这块缓存中(内存是随意地址的,可能未对齐)
...全文
相关推荐
Linux设备驱动之DMA
DMA概述 DMA是一种无需CPU的参加可以让外设与系统内存之间进行双向数据传输的硬件机制。它可以使系统CPU从实际的I/O数据传输过程中摆脱出来,大大提高系统的吞吐率,并且在传输期间,CPU还可以并发执行其他任务。 DMA与cache的一致性 cache用作CPU针对内存的缓存,避免CPU每一次都要与相对来说慢点的内存交互数据,从而来提高数据的访问速率,而DMA可以用作内存与外设之间传输数据的方式,数据不需要经过CPU周转。 “假设设备驱动程序把一些数据填充到内存缓冲区中,然后立刻命令硬件设备利用DMA传送方式读取该数据。如果DMA访问这些物理RAM内存单元,而相应的
dma.rar_android_android dma
Android系统DMA的头文件,可以帮助理解Linux对存储器的管理
Linux DMA meory 及一致性简述.docx
。。。
dma-alloc.rar_dma_alloc
MN10300 Dynamic DMA mapping support.
dma.rar_DMA linux_dma_dma linux_linux_采集
linux嵌入式系统的dma方式的实现代码


