讨论贴 6410 boot烧写
关于飞淩提供的uboot 1.1.6,SD烧写boot问题讨论:飞淩提供的boot是具有fatload 功能的只是在命令定义的没有添加进去(#if (CONFIG_COMMANDS & CFG_CMD_FAT)。但是在做测试的时候发现一个很有意思的问题,每次更新了新的uboot.bin放到sd卡内,每次都启动都感觉是同一boot,这点重打印可以验证(每次加的boot打印都没有,只有在重nand启动的时候才会有打印)。uboot起来过后会有nand erase的命令写到boot分区(不清楚是在何时写的因为这个boot没看到源码)。如果这个时候用fatload 命令读取出SD卡内的uboot.bin 到0x50008000处,然后在烧写到nand启动的boot分区即(0x0 --0x100000)处却不能从nand启动。这时候对比了uboot.bin ,这个fatload下载的数据和uboot.bin源文件是一样的,这个时候在去对比能从nand启动的boot分区数据,发现前0x1000(即4k)大小出的数据是一样的。能从nand启动的数据从0x1000到后面的一段数据就有差别好像被插入了一段数据。所以疑问来了。如果我不用SD卡更新boot数据,那我用串口,或者 网络或者u盘该怎么写入这个boot才是正确的?您好:
我这里看了一下,您描述的意思是不是镜像在写入nandflash后与原文件产生了差别,是这样吗?如果是的话,您现在的板子能否正常启动,如果不能,那么使用我们的标准流程烧写是否有问题,能否正常启动,您可以测试一下,看是不是您手法的问题,如果都能正常启动,那就另当别论了
你好:
是这样的:用你们sd卡启动的标准流程,烧写后拨码开关拨到nand启动,起来后 读取nand的0 到0x100000 到50008000处打印出数据,和我刚刚用标准流程烧写的bin比较,数据是不同的。差别就是我上面的贴子说的 今天晚上再次研究了一下的确是不一样的,飞淩的uboot源码里面定义的是从sd启动的宏,估计必须改成nand启动。估计和mmc.bin有关系,请问你们这个bin有源码吗? 看来得用我自己移植的uboot2010的我得好好研究研究 wuke_work 发表于 2017-7-26 22:54
看来得用我自己移植的uboot2010的我得好好研究研究
您好:
我这里想到一种可能,有可能是nandflash里的坏块影响到读出来的数据,有的处理机制针对坏块会采取补0的处理方法,会不会是这种情况造成的呢,您可以验证一下 恩,验证了不是坏块哈,我查了nand bad 只有一个高地址有坏块,在几M以上了,可能就是启动时候的8K校验有问题?我再改改源码看看那能不能起 wuke_work 发表于 2017-7-27 15:56
恩,验证了不是坏块哈,我查了nand bad 只有一个高地址有坏块,在几M以上了,可能就是启动时候的8K校验有问 ...
您好:
好的,咱们保持沟通,有结果了可以贴出来大家分享 现在有人指出了,Uboot 里的写flash指令是有bug的,只支持2Kpage以下的。我就碰到这个坑了。
页:
[1]