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/AM5728:QSPI 闪存读取

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/669265/rtos-am5728-qspi-flash-read

器件型号:AM5728

工具/软件:TI-RTOS

您好!

我使用的是 IDK-AM5728板、并在无操作系统环境的上下文中参阅 diag 文件夹下的 QSPI_diag.c。

对于在 Sing、double 和 quad 等不同模式下读取 QSPI 有一些问题。
if (qspi_RX_LINE_QUAD ==hwAttrs->rxLines)
{
S25FLFlash_QuadModeEnable (flashHandle);
}
SF25FL_bufferRead (flashHandle、flashTransaction); 

使用上面的代码来读取闪存。现在在调用 SF25FL_bufferRead () API 之前,我们将模式更改为四路以实现更快的读取。
现在、我的问题是、如果我的读取块不是4的倍数、那么读取是如何执行的。


例如、 我们必须读取39个字节、然后才能在9个读取命令中读取36个字节、但它将如何读取剩余的3个字节。


它是否会再次读取4个字节3个实际字节和1个垃圾字节? 或


它是否会对剩余的3个字节执行逐字节操作?



Br、Abhinav

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Abhinav、

    我认为您对 QSPI IP 规范有误解。 您需要查看 AM57xx 数据表等中的 QSPI 电气信号信息、S25FLxx 闪存数据表以及双路和四路模式读取和写入的信号。

    SOC 仅发送命令和地址、然后使用1引脚、2引脚或4引脚读取数据位。 由于数据始终为8位、因此 QSPI IP 将数据打包到寄存器中、以便向 CPU 提供8位数据。 n`t、读取单个字节或多个字节(甚至是非2或4个字节的倍数)至关重要。 QSPI LLD 驱动器提供的数据中没有填充位或垃圾位。

    S25FL 数据表链接: www.cypress.com/.../download (双路和四路模式信令请参阅9.4.1和更高版本)

    此致、
    Rahul

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Rahul 的答复。 这是第一次处理 QSPI、这就是为什么会出现类型的查询。
    如果有任何疑问,我将仔细研究所需的文件,然后再回来。

    Br、Abhnav
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没有问题 Abhinav。 请告诉我闪存和数据表规格是否n`t 澄清了您的初始问题、我可以提供进一步的说明。

    如果您在我共享的规格文档中找到相关信息、请将帖子标记为已解决。

    此致、
    Rahul