LINUX - 用于数据传输的DMA - 从SPI读取--- tx到usart - RPi

时间:2012-12-03 08:51:00

标签: linux embedded-linux raspberry-pi dma

DMA如何实际运作是我所知道的理论; - http://en.wikipedia.org/wiki/Direct_memory_access

但在编程我们如何管理它?

我正在使用RPI&期待使用DMA实现以下操作 假设我想使用SPI读取SD卡---- TX读取数据---到USART。

我是否必须为数据传输编写例程&给他们dma或它是DMA tx& rx频道?

用于它的linux内部是什么?

有些专家可以说明在这方面应采取的步骤。我是DMA programming.lin

的新手

1 个答案:

答案 0 :(得分:0)

您可以查看Raspberrypi SoC硬件规格。 http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf

Broadcom DMA支持SPI TX / RX和SD主机接口。这意味着它至少可以支持设备到内存(我不确定broadcom SoC是否支持设备到设备DMA)。

不同的SoC具有不同的DMA配置方式。 例如,它只需要在一些简单的DMA引擎上分配源地址,递增/递减(长度),目标地址,递增/递减(长度),计数器和中断。 完成DMA传输后,将触发中断。

粗略回顾Broadcom的SoC。 它有其他选择,例如:WAITS,PERMAP。 我不是Broadcom SoC专家,也许您可​​以使用默认值来配置它。