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.

[参考译文] RTOS/AM4376:创建在 TI-RTOS 下的 AM437x 上运行的从 SPI 应用的最佳方法

Guru**** 2556920 points
Other Parts Discussed in Thread: AM4376

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/624794/rtos-am4376-best-approach-for-creating-a-slave-spi-application-that-runs-on-a-am437x-under-ti-rtos

器件型号:AM4376

工具/软件:TI-RTOS

设计在 TI-RTOS 下的 AM4376上运行的从 SPI 应用的最佳方法是什么?

AM4376必须通过 SPI 与传统板连接。 AM4376是 SPI 从设备。 SPI 主器件和从器件交换长度可变的消息。 主器件每24us 连续向从器件发送和接收一个字节。 它们在消息之间发送同步字符。

我看了 main_mcspi_slave_mode.c 示例。 它可以在阻塞模式(DMA 模式或非 DMA 中断模式)或回调模式下工作。 如果 我将一个事务配置为一个字节、那将会是奇怪的?

提前感谢、

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

    是的、MCSPI 从模式示例是开始开发 SPI 从应用的最佳方法。 如果您查看函数 MCSPI_receiveData_v1或 MCSPI_transmitData_v1、您将看到、如果您将数据大小设置为8位(一个字节)、驱动程序将从 RX/TX FIFO 读取8位、因此即使您设置了单字节、它也应该能够处理

    实际上、当 SPI 驱动器处于主模式并向闪存发送擦除命令时、就我所记得的而言、事务长度已设置为1字节、因此这也应在从模式下工作。

    此致、
    Rahul
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Rahul!
    "mcspi_serializer"示例一次发送/接收1个字节。 它启动一个事务并轮询由回调例程设置的标志。
    但我不确定在我的情况下、如果 SPI 从站将以24us 的速率持续接收字节、并且软件将处理类似2个以太网通道的其他事项、那么这种事务方案是否能够正常运行。 我担心在交易之间丢失数据。

    是否可以修改 TI-RTOS 提供的驱动程序以根据我的需求进行调整? 是否有参考文档解释了如何做到这一点?

    如果需要、是否可以直接配置/使用 SPI (裸机)而不是使用 RTOS 驱动程序? CSL 模块具有提供基本功能的模块"c:\ti\pdk_am437X_1_0_7\packages/ti\CSL\src\IP\mcspi\V1\"。

    此致、
    Marcio