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.

[参考译文] AM6442:U-boot未检测到NAND

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1096355/am6442-u-boot-not-detecting-nand

部件号:AM6442

您好,

我使用的ONFI 2.2 兼容NAND,其页面大小为8 KB ,总大小为4 GB ,大于TRM指定的值(4.4 10 GPMC NAND引导最大4 KB 页数和2 GB 总数)。 禁用ELM和使用软件ECC可在从SD卡引导时在u-boot和内核中实现正常功能。

我看到的问题是,当尝试从GPMC-NAND启动时,芯片直接转到辅助启动选项,没有任何关于NAND的消息或错误。 考虑到更大的NAND大小,这是正常的,也是预期的行为,还是仍有希望从它启动?

谢谢你。

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

    您好,Mehdi:
    当您从主板上任何工作的启动媒体启动u-boot时,当您运行"nand info"@u-boot提示符时,我们有什么?
    最佳,
    -洪

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

    您好,Hong:

    以下是输出,同时添加了MTD列表:

    SoC:AM64X 1.0
    DRAM:512 MIB
    NAND:4096 MIB
    MMC:MMC@fa0万:1.
    输入:序列号@280万
    输出:序列号@280万
    错误:串行@280万
    net:eth0:以太网@800万端口@1,eth1:以太网@800万端口@2
    按任意键停止自动引导:0
    =>和信息

    设备0:nand0,扇区大小1024 KiB
    页面大小8192 b
    OOB尺寸448 b
    擦除大小104.8576万 b
    子页大小2048 b
    选项0x0.04万c
    BBT选项0x0万
    =>
    => MTD列表
    MTD设备列表:
    * nand0
    -类型:NAND闪存
    块大小:0x10万字节
    最小I/O:0x2000字节
    - OOB大小:448字节
    - OOB可用:238字节
    ECC强度:8位
    ECC步长:512字节
    -位翻转阈值:6位
    -0x0万00000000-0x000100000000:0万:“0.01万“nand00万nand0”
    -0x0万00000000-0x000000200000:0万:“0万“NNAND20万NNAND.tiboot3”
    -0x0万200000-0x000000400000:20万:“0万“NNAND40万NNAND.tispl”
    -0x0万400000-0x000000600000:40万:“0万“NNAND60万NNAND.tiboot3.backup”
    -0x0万600000-0x000000a00000:60万:“0万“NNAND0万NNAND.U-boot”
    -0x0万a00000-0x000000b00000:0万:“0万“NNAND0万NNAND.u-boot-env”
    -0x0万b00000-0x000000c00000:0万:“0万“NNAND0万NNAND.u-boot-env.backup”
    -0x0万c00000-0x000100000000:0万:“0.01万“NNAND0万NNAND.file-system”
    =>

    此致,

    Mehdi

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

    您好,

    看起来ROM引导加载程序为NAND使用启用ELM,这是什么原因阻止了从这个大页面NAND启动?如果是这种情况,为什么UART0控制台上没有错误消息?

    谢谢你。

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

    您好,Mehdi:
    我在我的同事中循环使用关于NAND BCH方案的bootrom政策。
    最佳,
    -洪

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

    您好,Mehdi:
    在您测试时,它看起来可以支持u-boot和内核中的NAND。 但似乎与TRM中所述的bootrom不兼容。
    >>> AM64xx TRM中的4.4 >10 GPMC NAND启动
    GPMC NAND引导配置字段
    AM64x ROM仅支持从ONFI 1.0 兼容的8位并行NAND内存启动,容量高达2GB,连接到具有以下几何图形的GPMC CS0:
    •2千字节页面和至少64字节或的备用区域
    •4KB页面大小和至少128字节的备用区域。
    >>>

    最佳,
    -洪

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

    您好,Hong:

    ROM引导加载程序未发出任何消息,无法从NAND引导是否正常?

    此外,我希望TI升级其ELM硅IP,它 非常有限:只有4K页面和BCH16。 如今,即使是小型微控制器也具有更高的HW NAND支持功能(页面大小和ECC HW算法)。

    谢谢你。  

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

    您好,Mehdi,ROM引导加载程序不会通过UART发出任何错误消息。  原始NAND引导支持有意受到限制,以支持更常用的引导方法,如OSPI或eMMC。  我认为您无法从此设备启动,因为它超出了列出的设备容量限制。

    此致,

    詹姆斯   

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

    理解,感谢James确认这一点。

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

    James,

    我正在尝试用更小的尺寸替换NAND,以确保我可以从它中打捆启动。 在功能 K3_sysfw_loader中,Uboot arch/arm/mach-K3/sysfw-loader.c似乎不支持NAND,我只看到MMC,SPI,UART,DFU和USB。

    我是否正确地理解了这一点:TI不支持从NAND启动? 我想我们可以在sysfw-loader.c的开关案例中添加 NAND的案例,并在 common/spl/spl_ubi_load_image中调用spl_ubi.c:TI是否计划在将来的模块中将此添加到sysfw-loader.c

    谢谢!

    Mehdi

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

    您好,Mehdi:
    R5 SPL从主引导介质(即NAND)启动时,需要与TRM的4.4 10 GPMC NAND引导中所述的bootrom兼容。
    事实上,Linux SDK 8.2 中添加了NAND引导支持。
    我要附上使用SDK 8.2 在AM64x GP EVM + TI NAND子卡上捕获的两个日志文件,供您参考。

    NAND:  1024 MiB
    
    => nand info
    Device 0: nand0, sector size 256 KiB
      Page size       4096 b
      OOB size         256 b
      Erase size    262144 b
      subpagesize     1024 b
      options     0x0000400c
      bbt options 0x00000000

    最佳,

    -洪

    e2e.ti.com/.../am64_5F00_8.2_5F00_nand_5F00_flash.txt

    e2e.ti.com/.../am64_5F00_8.2_5F00_nand_5F00_boot.txt

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

    您好,Hong:

    已理解。 非常感谢您在设置中花费的时间。 当我在uboot的sysfw-loader.c中查看代码时,我很担心,但从上面显示的内容来看,它是从NAND加载的。

    感谢你们的帮助。

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

    您好,Mehdi:
    以下是AM64x启动流程,供您参考
    software-dl.ti.com/.../UG-General-Info.html
    - tiboot3.bin = R5 SPL.bin + DTB + sysfw.bin + cfg
    -从引导介质加载tiboot3.bin (即 NAND)片上RAM由bootrom完成,对于此步骤,NAND布局必须符合TRM的4.4 10 GPMC NAND引导。
    最佳,
    -洪

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

    谢谢您Hong,这确实是我的困惑:所有tiboot3.bin都是一次性加载的。 好的,我们将继续使用较小的页面部件替换NAND,它应该可以正常工作。 再次感谢。