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.

为什么内核烧写到nandflash不能启动?

Other Parts Discussed in Thread: AM3352

我使用SD卡启动时内核启动正常,为什么烧写到nandflash后就启动不起来?

1、在uboot环境下使用cmp命令对比SD内的uImage和从nandflash读取的uImage是一样的

2、nandflash启动内核时,效果如下:

请问这是为什么?

  • 请问是按照哪个文档烧写的?烧写的时候有没有报错?

  • 我是这样烧写的:

    mmc rescan;
    fatload mmc 0 81000000 MLO;
    nand write.i 81000000 0 ${filesize};
    fatload mmc 0 81000000 u-boot.img;
    nand write.i 81000000 80000 ${filesize};
    fatload mmc 0 81000000 uImage;
    nand write.i 81000000 280000 ${filesize};

    烧写过程没有报错。

  • 请问是在自己做的板子上测试的么?有没有其他的参考板可以验证?

  •  您好:我使用SD卡烧写完成后,从nandflash启动uboot是正常的,但是内核启动不正常,请问这和sysboot有关系吗?请问是哪方面的关系?


  • 我们前期使用am3352已经做过了一块板子,已经调试完成。这块是新做的一块板子,原理也是相同的(不同的是LCD显示部分,以前是使用芯片转换芯片通过LVDS连接到LCD上,这块是直接使用的RGB连接到了LCD上,其中最小系统和元器件使用的都是相同的,包括nandflash和DDR3芯片)。请问应该从哪些方便来排查这个问题?

  • 也就是同样的软件在新的板子上,NAND无法启动?检查下是不是LCD这部分信号线对NAND有干扰。

  • 您好!我把LCD这部分电路全部焊接下来情况依旧。但是我把nandflash焊接下来,把uImage拷贝到DDR上并从DDR上启动可以(在有nandflash的时候把uImage拷贝到DDR上并从DDR上启动不了内核),查看nandflash原理图是和上次PCB板原理相同的。我再重复一下我们这块板子出现的问题及现象:

    1、把uboot和内核镜像放置在SD上,从SD卡启动,内核基本上都可以正常启动,也不是每次都可以正常启动,正常启动的概率为95%左右(有nandflash)

    2、上面的操作是在先上电然后插入SD卡的情况。如果是先插入SD卡再上电,内核启动也是失败的。

    3、SD启动uboot后,把uImage镜像搬运到DDR,从DDR启动,每次内核启动都失败(有nandflash)

    4、把uboot和内核镜像uImage烧写到nandflash,从nandflash启动,uboot每次都可以正常启动,但是启动内核时就会死掉(有nandflash)

    5、去掉nandflash芯片后,SD卡启动uboot后,把uImage镜像搬运到DDR,从DDR启动,每次内核启动都可以正常启动(无nandflash)

  • 你以前的旧板子没有这种启动失败的问题?

    看现象是NAND这部分电路对DDR有影响,你可以在有/无NAND的两种情况下对DDR的读写做一下测试。

    另外建议检查下PCB这部分是不是NAND这部分的走线和布局和上一版有变化。

  • 您好!谢谢您的回复。

    1、以前的板子启动都正常,从来都没有遇到过这样的问题。

    2、PCB关于NAND这部分的走线和布局和上一版是有变化的。

    3、请问你说的测试DDR读写测试是在内核启动完成后来做吗?您这里有没有比较好的DDR3测试程序代码?能否发我一份?

  • DDR3的测试是在U-boot中DDR配置之后进行测试的。

    这版PCB的NAND部分和上一版有了哪些变化?建议仔细检查下。