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.

[参考译文] AM2612:AM2612 闪存 API、超时为 1ms、但我的客户需要使用 1us

Guru**** 2885180 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1637658/am2612-am2612-flash-api-timeout-is-1ms-but-my-customer-needs-to-use-1us

器件型号: AM2612
主题: SysConfig 中讨论的其他器件

您好:Champs:

#1。 请查看以下 API。

#2. 超时为 1ms。

   但我的客户需要超时值精度单位为 1us。

   原因:他正在进行电机 1 轴旋转应用。

   因此、他需要尽快访问 SPI NAND 闪存。

   他知道无阻塞模式、如何将此 API 设置为 1 “us“超时?

 

BR Rio

image.png

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

    嗨、Rio、

    从应用程序调用此 API 时、您只需根据系统运行的频率传递系统时钟节拍数的超时值、即可将 1us 转换为系统时钟节拍数。

    如果需要、可以通过将“MCSPI_NO_WAIT“作为超时值来使其完全非阻塞。 例如、如果系统节拍频率为 200MHz、那么 1us 将为 200 个时钟周期、因此超时时间可达 200。  

    此致、
    Shaunak

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

    尊敬的 Shaunak:

    您可以演示一下代码是怎样的?

    您的意思是:调用 MCSPI_LLD_WRITE 时、参数“timeout“可以设置为“MCSPI_NO_WAIT“

    BR Rio

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

    尊敬的 Shaunak:

    MCSPI_NO_WAIT = 0、该 API 将返回错误。

    你能解决它吗?

    BR Rio

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

    您好。

    Cust RD 和我、我们 100%确认、如果我们使用 MCSPI_NO_WAIT 设置这 2 个 API、API 将返回–3 错误、Plz 将修复此问题。

             MCSPI_LLD_READ + MCSPI_LLD_writeMCSPI_NO_WAIT(0)、这 2 个 API 将返回 MCSPI_INVALID_PARAM(–3)!!

    BR Rio

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

    嗨、Rio、

    我已经提交了一个内部错误 ( jira.itg.ti.com/.../MCUSDK-15463 ), SDK 团队,我会研究它.

    此致、
    Shaunak

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

    尊敬的 Shaunak:

    PLZ 在下一个官方 SDK 修复之前提供温度修复。

    我们需要尽快解决这个问题、因为他们的 PCB 将在 2 周内回来。

    BR Rio

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

    嗨、Rio、

    我已开始与开发团队进行内部讨论、以确定优先级。 我会随时更新您的最新信息。  

    此致、
    Shaunak

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

    嗨、Rio、

    客户是否可以对非阻塞 SPI 事务使用基于中断的方法?

    此致、
    Shaunak

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

    尊敬的 Shaunak:

    #1。 我已经检查了 Jira、那里没有任何进展。 您可以加快修复速度吗?

    #2. 该问题的解决方案不是非阻塞 SPI?

    请尽快修复、谢谢。

    BR Rio

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

    嗨、Rio、

    解决此问题的一种方法是、将 MCSPI 驱动程序配置为在中断模式下运行(您可以参阅 mcspi_loopback_interrupt_lld 示例的 example.syscfg)。

    在这里、我们使用非阻塞中断方式、您可以将 MCSPI_NO_WAIT 超时传递给中断模式 API。 因此、当从中断配置调用 MCSPI 传输时、请使用以下 API:

    MCSPI_LLD_readWriteIntr () 或 MCSPI_LLD_readIntr () 或 MCSPI_LLD_writeIntr ()、这将提供一种非阻塞方式(应用程序不会被阻止,当传输完成时,您将输入 SysConfig 中定义的回调 ISR。
    若要快速测试、您可以修改 mcspi_loopback_interrupt_lld 示例、并将 timeout 变量修改为 MCSPI_NO_WAIT、重新编译并测试 SDK 示例。
    此致、
    Shaunak
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Shaunak:

    我会将其视为临时修复。

    但我的客户需要此功能才能进行正式/正常修复。

    原因:  

       几个客户 RD 需要学习这个临时修复,这对他们来说是不好的。

    BR Rio

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

    嗨、Rio、

    此修复程序不是解决方法、而是一个实际的修复程序。 轮询 API 不能被视为“非阻塞“。 对于非阻塞传输、我们需要使用中断模式、在该模式下、如果传递了 NO_WAIT、我们将返回错误。

    此致、
    Shaunak

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

    =>如果传递了 no_wait、我们将返回错误。

    尊敬的 Shaunak:

    我可以确认您在这里的陈述是否有拼写错误?

    它应该是:

    =>如果传递了 no_wait、则会返回“no“错误。

    如果我错了、请纠正我。

    BR Rio

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

    嗨、Rio、

    抱歉、更正了拼写错误:

    -在中断模式下传递 NO_WAIT ->没有无效的 params 错误代码

    -当在轮询模式下传递 NO_WAIT(分块)->返回无效的 params 错误代码。

    希望这可以消除混淆。

    此致、
    Shaunak

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

    尊敬的 Shaunak:

    好的,谢谢,如果我的客户同意,我会关闭这个。

    BR Rio

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

    尊敬的 Shaunak

    我的客户同意关闭。

    BR Rio