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.

[参考译文] DM8107:dm8127 引导 ROM 与 nand 闪存兼容

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1647337/dm8107-dm8127-boot-rom-compatiblity-with-nand-flash

部件号: DM8107

我们的系统与 dm8127 处理器一起工作、系统从 nad 闪存引导。
我们以前使用 Micron MT29F2G16ABAEAWP、希望将 nand 闪存组件切换到 Micron MT29F2G16ABAEAWP。
与我们的设置兼容的和构成、唯一(可能)的相关差异是 OOB 大小。
在新 nand 中、我们每 2k 页有 128 个字节、而不是旧 nand 中的 64 个字节。

我们的问题是:两个 nands 回答“ONFI“协议,并通知 ROM 有关 OOB 大小,
根据 reffrence 手册 ROM 将 asume bch8 并能够从 nand 闪存加载我们的 uboot、但它会失败并尝试从串行加载。

ROM 是否使用来自参数页面(命令 0xEC)的 OOB 大小信息?
在我们的特定情况下、dm8127 是否可以处理 128 字节的 OOB 大小?
您如何建议调试引导 ROM 故障?

谢谢。

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

    Dor

    如产品文件夹中所述、现在可通过第三方获得对此器件的支持。 但是、我将查看是否有任何相关信息可能有所帮助。  

    ——保罗  

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

    谢谢您、
    我真正需要知道的是、引导 ROM 如何相对于他从“ONFI“器件信息页面获得的 OOB 大小工作。
    是否可以说它假定所有有 oobSize == 128 的 nand 都在使用 bch16?

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

    Dor

    我会看看我是否获得了有关您的特定需求的信息。   

    ——保罗  

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

    Dor

    我将把这件事转交给另一个团队、他们可以进一步评论。

    ——保罗  

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

    您好:

    在初始问题中、不给出建议的新闪存类型(旧闪存重复两次)。  您能提供吗?

    我们以前使用 Micron MT29F2G16ABAEAWP 、希望将 nand 闪存组件切换到 Micron MT29F2G16ABAEAWP

    在规范和代码版本中、我看到标识可以首先通过 I2C 读取 NANDI2C 启动类型、第二次通过 ONFI、第三次来自表查找。   您的主板上设置了哪种引导类型?  如果正在使用 I2CNAND 引导、则必须更新该 I2C 闪存以指定 ECC 类型。
    第二个 ONFI 探测器将读取参数页以获取每页#备用字节 (#84U)。如果它可以容纳在该备用区域中、它将选择 BCH16、如果不能容纳在该备用区域中、则降至 8。  2K 页设备通常只有 64 字节的备用区域、但 ONFI 探测器不重要。  第三个表查找将使用制造商和器件查找匹配的任何值。
    对于此类问题、我要首先查看 NAND 器件中编程的内容是否符合您的预期。  过去、我能够使用基于 JTAG(Lauterbach TRACE32 的闪存)的闪存器直接对 NAND 闪存器件进行编程和转储(主区域和备用区域)。  如果主区域或备用区域编程失败(出于任何原因)、则永远不会进行引导。
    根据您分享的部分信息、我想您的闪光灯无法正确处理较大的备用区域、备件区域可能尚未正确编程。  通过基于裸机 JTAG 的驱动程序进行转储是一种不错的选择。  我见过一位同事最近因为更新的芯片而这样做。  他们使用了标准的 TRACE32 NAND CMM 脚本。  使 IT 正常工作的主要附加功能是该平台的 GPMC 计时。  
    这个时代的第一个芯片只有表查找、然后推出了 ONFI。  较旧的芯片或 ROM 版本仅限于 2K 页的 BCH8、但~应该不是这里的情况、但有一些模糊没有更多的信息。  对于这些较旧的芯片、我看到建议将 BCH8 用于引导加载程序、以便与 RBL 配合使用、然后获得一个使用 BCH16 和 SW ECC 的根文件系统分区。
    此致、
    理查德·W·
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢详细的回答、我们的问题特别在于 dm8127 引导 ROM、我们需要知道 ROM 将如何对我的新 nand 闪存做出反应。
    我们设法解决了这一问题、将 ROM 使用 bch16 作为默认值、用于在 ONFI 信息页的“每个部分页的备用字节数“中发送 0x80 的所有 NAND。  
    我们成功地从新的 nand 启动、因此我认为现在问题已得到解决是安全的。

    谢谢