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.

[FAQ] [参考译文] 【常见问题解答】AM62x、AM62Px、AM62D-Q1、AM64x、AM275x:了解闪存器件 ID 和制造 ID 读取

Guru**** 2568565 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1573332/faq-am62x-am62px-am62d-q1-am64x-am275x-understanding-flash-device-id-and-manufacture-id-reads

器件型号:PROCESSOR-SDK-AM62X


工具/软件:

在 MCU+ SDK 中、在闪存初始化期间、我们读取器件 ID 和制造 ID

最常见的故障是“ 无法读取闪存 ID...

让我们了解一下 API 使用哪些参数 Flash_norOspiReadID 以及如何调试此处的故障。

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

    要发送到闪存以读取闪存的器件并在缓冲区中制造 ID 的通用命令结构如下所示:

    A 部分+ B 部分+ C 部分

    A 部分: 待发送的命令+第一条命令的反向/重复/无

    器件 B: 要发送的地址(如果需要)+地址字节数(如果需要)

    C 部分: 虚拟周期

    让我们挑选几个 Flash 来通过示例了解这一点[注意演示适用于协议 8D-8D-8D]

    S28HS512T (频率:200MHz、分频器:8、然后根据数据表、虚拟周期值将为 3)

    A 部分:  9Fh +重复 (9Fh)

    器件 B:  00h + 4 个地址字节(32 位)

    C 部分:  3 个虚拟周期(可从数据表中看到)(以下屏幕截图)

    在 Flash_norOspiReadID 内、公式变为:

    状态= Flash_norOspiCmdRead (configidCfg->cmd (9Fh)、cmdAddr (00h)、numAddrBytes (4)、dummyBits (3)、 idCodeidNumBytes);

    MX25UW64 / MX25UW128

    A 部分:  9Fh +反向 (60h)

    器件 B:  00h + 4 个地址字节(32 位)

    C 部分:  4 个虚拟周期(可从数据表中看到)(以下屏幕截图)

    在 Flash_norOspiReadID 内、公式变为:

    状态 =  Flash_norOspiCmdRead (config、 idCfg->cmd (9Fh )、cmdAddr (00h) 、numAddrBytes (4)、dummyBits  (4)、  idCode、 idNumBytes);

    IS25LX128

    A 部分:  9Fh + 重复 (9Fh)

    器件 B: OSPI_CMD_INVALID_ADDR(无需地址)

    C 部分:  8 个虚拟周期(可从数据表中看到)(以下屏幕截图)

    在 Flash_norOspiReadID 内、公式变为:

    状态 =  Flash_norOspiCmdRead (config、 idCfg->cmd (9Fh )、cmdAddr (INVALID) 、numAddrBytes (4)、dummyBits  (8)、  idCode、 idNumBytes);
    根据 上面演示的 3 种不同的闪存、可以调试闪存读取 ID API 故障。