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.

[参考译文] Starterware/AM3352:NAND ECC 问题

Guru**** 2553260 points
Other Parts Discussed in Thread: AM3352

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/622590/starterware-am3352-nand-ecc-issue

器件型号:AM3352

工具/软件:Starterware

大家好、
     我在 Starterware_02_00_01_01中使用了引导加载程序、并且在读取闪存时遇到了问题。 这些错误位于函数"NANDPageRead"中、当它被调用时、它会达到错误值"NAND_STATUS_READ_ECC_ERROR_CORRECTED"、该错误值由 GPMCBCHECCCheckAndCorrect()调用"NANDPageRead"返回

 出现问题时 ,AM3352无法成功启动;但有时它可以成功读取 NAND 并 成功启动(仅伺服时间);

我想知道 为什么会发生这种情况、希望有人能帮助我、谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请指明您是在 TI 评估平台还是在您的定制平台上尝试此操作。 AM3352使用 GPMC 与 NAND 接口相连、但 ECC 数据位的生成和处理是通过 ELM 接口完成的。 您是否已检查您的设置与 GPMC 和 ELM 的连接方式与 TI 评估平台相同。

    您提到的错误值表示闪存软件在读取时发现错误、但它能够使用备件区域中的 ECC 位来纠正错误。 检测到错误后、有 ECC 校正代码会更新读取的值、以便数据看起来与编程时相同。

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

    您好 Rahul:

    感谢您的回复!

    我检查了我的操作,我认为它与 TI 评估平台相同。

    因此,如果发生此错误;”有 ECC 校正代码将更新读取的值,使数据看起来与编程时相同。  我想知道 、中是否有 ECC 校正代码

    Stareware? 或者我需要自己进行编程?

    谢谢!

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

    如果您使用的是 Starterware 中的闪存写入器和 nand lib、则 ECC 代码已实现。 您可以在下面的源文件 AM335X_ECC.c 中引用此刷写工具源代码来处理 ECC
    starterware\tools\flash_writer\src\n 和-flash-writer_AM335x\src

    请指出、当您提到启动失败时、ARM 内核是否未退出 ROM 引导加载程序(在启动失败后检查程序计数器)、或者它是否卡在 MLO 中?


    如果 ROM 引导加载程序有时能够读取 NAND 并成功引导、请让您在 SOC 加电并从 NAND 读取之前检查 NAND 器件是否加电。 如果 NAND 器件存在不可纠正的错误、则 NAND 启动应该持续失败。 您指示的系统听起来更像是电路板/电源定序问题。 是否多次尝试冷重启 SOC。 如果在冷复位后 SOC 引导、则可能是电源时序问题。

    希望这对您有所帮助。


    此致、
    Rahul