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.

dm8148接8位nand时uboot无法启动



我在使用dm8148接8位nand flash时,一直打ccc,无法进入uboot,目前已经尝试以下几种方案:

1、bootmode配置读出来为0x313,优先启动nand,这个没问题,位宽为8bit也没有问题

2、使用SD卡启动uboot之后,可以正常往flash里面读写数据

3、之前使用16位flash时,都已经能正常操作

4、uboot中默认的ecc校验方式为BCH8,从uboot来看是不支持BCH16,不知道是否在向ROM中拷贝uboot_min的时候ecc校验不对?

所以请问8148本身的ecc校验方式需要怎么配置才能通过校验?

另外,如果不是ecc引起的,是否有其他可能性?

  • 请先确认一下使用的nand flash是否ROM bootloader支持。

    4.7.3.2 Initialization and Detection
    http://www.ti.com/lit/ug/sprugz8g/sprugz8g.pdf

  • 你好,

    ROM code里面使用的ECC取决于你使用的nand的spare area有多大。具体请参考下面的论坛讨论:https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/576493/2115429#2115429

  • Hi Shine:

          谢谢你的回复。

          从文档来看,ROM bootloader是支持改nand的,ID如下:

           4 Gb       DC     x8     2048

          nand 的型号为 H27(U_S)4G8_6F2D

          以上,谢谢!

  • Hi Chris:

         你好。

          我从nand的onfi协议读到的oobsize为128,而通过计算和规格书里面写的oobsize都是64.

          不知道这种情况rom code是否能正确读取到nand 中的uboot。

          附件为nand的规格书。

          以上,谢谢!

    H27(U_S)4G8.pdf
  • Hi Chris:

         你好。

          我通过onfi协议从nand中都出来的oobsize为128,但是不管是规格书中描述的还是计算出来的oobsize都应该是64才对。

          不知道这种情况下Rom code是否能正常读取nand中的uboot。

          以上,谢谢!

      

  • peter pai 说:
    我通过onfi协议从nand中都出来的oobsize为128,

    nand的手册里面onfi的信息提供的spare空间也是40h=64,你能否查看一下为什么你从onfi协议读出来的是128?

    Number of spare bytes per page 40h, 00h

  • Hi Chris:
        你好!

        请问下我如何通过8148这边查为什么读出来是128吗?会不会跟GPMC的时序配置有关系?

        通过onfi 读出来的其他数据都没啥问题,只有oobsize这里有问题,还是说跟flash硬件有关系?

        如果跟gpmc的时序有关系,我该怎么去配置这个时序呢?

        请赐教,谢谢!