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.

[参考译文] SK-AM62:如何在 M4F?中使用 SPI 的中断+回调模式

Guru**** 2416110 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1524565/sk-am62-how-to-use-the-interrupt-callback-mode-of-spi-in-m4f

器件型号:SK-AM62
主题:SysConfig 中讨论的其他器件

工具/软件:

你好、团队

   

我们想知道如何使用 SPI 的 interrput +回调模式。 我们在 SPI 文档简介中提到了这种模式、但在示例中找不到这种模式。

背景:

AM62x M4F(无 RTOS)通过 SPI 在精确的时间点获取外部数据

我们需要尽可能减少 SPI 传输期间 M4F 死区等待的情况

我尝试了以下配置、但运行时卡在一些底层 SPI API 中。

我的 SPI 配置

卡在里面

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

    您好、

    根据常见问题解答: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1414084/faq-sk-am64b-mcspi-integration-guide/5428405#5428405 、请更正 MCSPI 的 SysConfig 设置。

    完成后、请告诉我、我们可以继续前进。

    此致、

    Vaibhav

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

    您好、

    这是新的 syscfg 设置、但仍然保留在 MCSPI_masterIsr 中

    1.单步运行时工作正常。 它会在全速运行时卡住。

    2.卡滞点的位置是 MCSPI_CONTINUeTxRx。 此时、int 状态标志为:RX0_FULL + EOW

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

    您好、

    RX0_FULL + EOW

    您能告诉我 EOW 是字结束还是中断结束。

    1. 运行单步时工作正常。 以全速运行时会卡住。

    我想您应该说、该应用程序在逐步调试时工作正常、但在运行应用程序时单次/单次运行中、它会卡住。

    2. 卡滞点的位置为 MCSPI_CONTINUeTxRx

    感谢您让我知道它卡住的地方。

    请告诉我您目前正在使用哪个 SDK 版本。

    此致、

    Vaibhav

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

    您好、

    您能告诉我 EOW 是字末还是中断结束吗

    这是 EOW 寄存器的含义

    1.“我相信你的意思是说,应用程序在一步一步的调试工作正常,但在单次/单次运行时,当你运行应用程序,它会卡住。

    是的

    2. sdk:mcu_plus_sdk_am62x_10_01_00_33

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

    感谢您的答复。

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

    您好 Owens、

    我们想知道如何使用 SPI 的 interrput +回调模式。

    请查看以下应用程序: https://github.com/TexasInstruments/mcupsdk-core/tree/next/examples/drivers/mcspi/mcspi_loopback_interrupt_lld/am64x-sk/r5fss0-0_nortos

    在这里、我们定义了 MCSPI 的回调函数以及中断运行模式。

    此致、

    Vaibhav

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

    亲爱的欧文斯。  

    spiTransaction 在完成完整事务时应有效。

    请告知我们、它是否可以解决您的问题、以便将其作为全局变量。

    /opt/1Twork/repository/mcu_plus_sdk_am62x_10_01_00_33/examples/drivers/mcspi/mcspi_loopback/mcspi_loopback.c

    void *mcspi_loopback_main (void *args)

    // int32_t status = SystemP_Success;
    uint32_t i;
    int32_t transferOK;
    MCSPI_Transaction spiTransaction;

    DebugP_log(“[MCSPI]环回示例已启动...\r\n“);

    非常感谢!

    Yong