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.

[参考译文] AM623:TI:AM62x QSPI 引导模式失败

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1558873/am623-ti-am62x-qspi-boot-mode-fails

器件型号:AM623


工具/软件:

您好、

我们将 TI-AM62x-LP 处理器与 Linux SDK (ti-processor-sdk-linux-am62xx-evm-11.00.09.04) 配合使用。 我们具有将 QSPI 和 UART 的引导模式设置作为回退的自定义硬件。

以下是我们的引导模式配置:

 

最初、我们通过 UART 模式启动系统、并使用以下命令将 U-boot 二进制文件从 USB 刷写到 QSPI NOR 闪存中:

=> SF 探针;SF 擦除 0x0 0x2000000

=> USB 复位;fatload USB ${usbdev}${loadaddr}tiboot3.bin

=> SF 更新$loadaddr 0x0 $filesize

=> fatload USB ${usbdev}${loadaddr}tispl.bin

=> SF 更新$loadaddr 0x80000 $filesize

=> fatload USB ${usbdev}${loadaddr}u-boot.img

=> SF 更新$loadaddr 0x280000 $filesize

=>复位

 

在成功将 U-boot 编程到 QSPI NOR 闪存后、我们会复位电路板。 应从 QSPI 启动它、但再次回退到 UART 模式。

为实现权变措施、我们只缩短了一个电阻器一次、然后在进一步的下电上电过程中开始从 QSPI 移植。

但此权变措施仅适用于少数电路板和某些电路板、该权变措施未执行。 请同时提供您的意见。

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

    尊敬的 Muhammadh:

    我可以看到您意外地使晶体设置反转。  

    您的设置:        [2:0]= 110

    TRM 25MHz 设置[2:0]= 011

    请尝试使用 TRM 设置、如果这样做有所帮助、请告诉我。

    谢谢、

    Stan

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

    我们已经在我们的电路板中进行了这些更改。 仍然存在问题。 请提供相同的输入

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

    Muhammadh,

    您的 QSPI 存储器器件型号是什么?

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

    你好 

    下面是它的器件型号。 我们的大小为 32MB。



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

    尊敬的 Muhammadh:

    某些采用极小型封装的 QSPI 存储器器件随附“具有/WP 和/HOLD 引脚的标准 SPI“选项。 要切换到“四路 IO 模式“、用户需要在此芯片中对一个名为“QE"或“或“四路“的位进行编程、如下所示。 这是一次性过程、从那时起、ROM 应能够在 QSPI 模式下引导。 目前、通过引导模式开关选择的 ROM 只支持标准 SPI 引导。

    此致、

    Stan

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

    尊敬的 Stan:

    感谢您的意见。 但是,我如何和在哪里可以阅读这篇文章? 您能否提供 U-boot 或 Linux 的命令?

    此致、
    Salih

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

    您好、

    我已经通读了这一主题。 以下是我迄今为止所了解的内容的摘要。 如果需要、请纠正我的理解。

    使用 QSPI NOR 闪存:S25FL256SA

    主引导模式:QSPI

    回退引导模式:UART

    到目前为止执行的命令:

    1. 已擦除闪存 32MB。
    2. 在 0x0 偏移处加载 tiboot3.bin。
    3. 通过 0x80000 加载 tispl.bin。
    4. 在 0x280000 处加载 u-boot.img
    5. 复位以从 QSPI NOR 引导。

    我看到了您有关如何读取四路使能位值的问题。

    因此、QE 位位于闪存数据表中配置寄存器 1 的位 1 上。

    请运行以下命令集并告诉我该值:

    1. SF probe ->探测闪存
    2. SF 读取 0x82000000 0x0 0x2 ->读取前两个字节 (STATUS + CONFIG)
    3. md.b 0x82000000 2 ->这将转储两个字节、即 byte[0]=状态寄存器 1、byte[1]=配置寄存器 1。

    期待了解这些价值观。

    谢谢、

    Vaibhav

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

    仅供参考、为阅读该主题的所有人附加闪存数据表: www.infineon.com/.../infineon-s25fl128s-s25fl256s-128-mb-16-mb-256-mb-32-mb-fl-s-flash-spi-multi-io-3-v-datasheet-en.pdf

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



    以上是输出。 看起来已经设置了该位。 但仍在复位电路板时、它再次仅进入 UART 模式。
    如前所述、短接某些电路板中工作的电阻器 (DNP)。  

    请提供相同的解决方案。

    此致、
    Salih

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

    您好、

    根据日志、我确实看到配置寄存器值为 0x82、这意味着 QE 位已设置。

    但我也看到状态寄存器 1 值为 0x30、这意味着在闪存数据表中、块保护位处于启用状态、并且出现擦除失败的情况。

    0x30 对应于位 4 和位 5 设置为值 1、从闪存的状态寄存器 1 说明中、我们可以看到以下内容:

    我们可以执行以下一组实验吗?

    1. 可在 QSPI 中引导的电路板、请从中选择一个、并以您为故障电路板所做的类似方式读取状态和配置寄存器。
    2. 成功引导的电路板上的值将告诉我们根本原因。

    期待您的答复。

    谢谢、

    Vaibhav