This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM3358:关于在处理器 SDK Linux RT 上使用 DMA 实现 SPI 主设备的查询

Guru**** 1958595 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1278567/am3358-query-regarding-implementation-of-spi-master-with-dma-on-processor-sdk-linux-rt

器件型号:AM3358

我正在基于 AM335x 的开发板(BeagleBone Black)上进行软件开发。 AM335x 除了进行一些板载处理外、还具有以下功能:

-通过 SPI 检索高吞吐量数据(McSPI 1)

-输出一些数据流 为 I2S (通过 McASP)

-充当以太网 TCP 服务器。

已弃用的 StarterWare SDK 实现了基本的此类更新。 缺少多线程、在线支持和文档会影响可实现的性能、因此需要向另一个 SDK 迁移。  

由于我不熟悉嵌入式 Linux 开发、因此我有一些与使用处理器 SDK-Linux (RT)实现 SPI 通信相关的 NOB 疑问。

对于我的用例、AM335X 充当 SPI 主器件、需要每250ms 检索几千个样本(b/w 1024和4096个样本、32位宽)。 SPI 从设备具有板载缓冲器、因此从 AM335x 通过 Linux 启动的 SPI 事务中涉及的非确定性延时时间不是问题。 我希望使用 DMA 来完成数据的传输和检索。

此 SDK 文档指出提供了支持主模式下 DMA 的 McSPI 驱动程序。 

这样做后、我只需要更新 DTS 为了添加 DMA 支持、类似于 AM62x 和 AM437x 的概述过程 ? 或者我是否也需要重新配置并重新编译内核以启用 McSPI 驱动程序? (我当前正在使用 TI 为内核版本5.10.100-rt62提供的默认预生成操作系统映像)

完成这些步骤后、我是否使用 userspace spidev 驱动程序、并假设在内核空间中使用启用了 DMA 的相应 McSPI 驱动程序? 或者是否有其他一些驱动程序和 API?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    SPI 专家目前不在办公室。 请预计响应会延迟。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢、如果您仍需要相关帮助、请告知我们。

x 出现错误。请重试或与管理员联系。