gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 04:20:30 24 4
gpt4 key购买 nike

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

但是在编程中我们必须如何管理它?

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

我是否必须编写数据传输例程并将它们提供给 DMA,或者由 DMA tx 和 rx channel 处理?

使用什么 Linux 内部结构?

有专家可以告诉一下在这方面应该采取什么步骤吗?我是 DMA 编程新手。lin

最佳答案

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

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

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

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

关于LINUX -- DMA 用于数据传输 -- 从 SPI 读取 --- tx 到 usart - RPi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13679836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com