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.

[参考译文] AWR1642:有关闪存 SFDP 的问题读取 API QSPIFlashReadSFDP

Guru**** 2609945 points


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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/662921/awr1642-question-about-flash-sfdp-read-api-qspiflashreadsfdp

器件型号:AWR1642

你好、冠军、
   我对 SDK API 'QSPIFlashReadSFDP'有疑问。 输入参数 dataLen 为8、这意味着读取8字节 SFDP 参数。 为什么我们使用 dataLen + 3作为 SFDP 命令来写入数据长度、dataLen + 2作为地址最短长度、而 dataLen + 1作为虚拟周期长度? 我查看了 Cyoress Flash 的数据表、但找不到任何相关要求。

静态空 QSPIFlashReadSFDP (QSPI_Handle QSPIHandle、uint32_t addr、uint32_t dataLen、uint8_t * receiveData)

   uint8_t        索引;
   uint32_t       status;

   /*写入 SFDP 命令*/
   QSPIFlashWriteCmd (QSPIHandle、FLASH_CMD_SFDP、dataLen + 3U);

   /*写入地址偏移量*/
   QSPIFlashWriteAddr (QSPIHandle、addr、dataLen + 2U);

   /* 8个虚拟周期- 1个字节*/
   QSPI_cfgWrite (QSPIHandle、QSPI_CMD_4PIN_WRITE_SINGLE、QSPI_WORDLEN_8位、0x0、dataLen + 1U);

   /*读取字节*/
   for (index = 0U;index < dataLen;index++)
   {
       receiveData[索引]= QSPIFlashReadByte (QSPIHandle);
   }
   /*检查忙标志*/
   操作
   {
      状态= QSPIFlashGetStatus (QSPIHandle、FLASH_CMD_RDSR1);
   }while (((status & 0x1U)!= 0x0U);

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

    我已将其提交给我们的软件团队

    谢谢你
    Cesar
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Cesar、
    您是否有来自软件团队的任何更新?

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

    您好!

    我们针对读取时序引用了"串行闪存可发现参数(SFDP)"。 我们使用的版本如下:

    JESD216B
    (JESD216A 修订版、2013年7月)

    (dataalen + x)是在 AWR16xx 上使用 QSPI IP 时当前帧中的剩余帧长度。 它是在 qspiflash/QSPI 驱动程序中用于与 QSPI 接口通信的内部参数。

    在这种情况下、3个额外字节为:命令、addr 和虚拟周期。

    此致、

    TAO