TI中文支持网
TI专业的中文技术问题搜集分享网站

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

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

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

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

请问这是为什么?

Jian Zhou:

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

zimin hou:

回复 Jian Zhou:

我是这样烧写的:

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};

烧写过程没有报错。

Yaoming Qin:

回复 zimin hou:

请检查下sysboot

Jian Zhou:

回复 Yaoming Qin:

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

zimin hou:

回复 Yaoming Qin:

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

zimin hou:

回复 Jian Zhou:

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

Jian Zhou:

回复 zimin hou:

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

zimin hou:

回复 Jian Zhou:

您好!我把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)

Jian Zhou:

回复 zimin hou:

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

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

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

zimin hou:

回复 Jian Zhou:

您好!谢谢您的回复。

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

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

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

赞(0)
未经允许不得转载:TI中文支持网 » 为什么内核烧写到nandflash不能启动?
分享到: 更多 (0)