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

sd卡自动烧写映像到nand flash问题

类似从sd启动后,进入了u-boot。然后就要将一系列指令进行烧写到nand flash。

怎么启动就将这些指令一一运行??

mmc rescan
fatload mmc 0 0x82000000 MLO
nand erase 0x0 0x80000
nand write 0x82000000 0x0 0x20000
nand write 0x82000000 0x20000 0x20000
nand write 0x82000000 0x40000 0x20000
nand write 0x82000000 0x60000 0x20000
mmc rescan
fatload mmc 0 0x82000000 u-boot.bin
nand erase 0x80000 0x80000nand write 0x82000000 0x80000 0x80000

请问一下这是怎么弄的??

Jian Zhou:

把这些命令写成一个U-boot执行参数,比如flash。

在bootcommand里执行:run flash就可以自动运行了

andarm lin1:

回复 Jian Zhou:

主要想进行两个操作:

1、判断是否在SD卡启动,如果是才进行上面的指令。

2、如果不是sd卡,那就是nand启动了,这时只需要bootcommand将uImage启动就可以。

请问一下:这需要怎么制作。

andarm lin1:

回复 Jian Zhou:

但是还不知道怎么将 mmcboot 和 nandboot 里面的bootcmd给分开来写。。

还需要再具体点。谢谢了。

Jian Zhou:

回复 andarm lin1:

应该是是bootcmd包含mmcboot和nandboot这2个执行脚本,而不是mmcboot和nandboot里面包含bootcmd呀。

U-boot自动执行的内容就是bootcmd定义的执行脚本呀。

andarm lin1:

回复 Jian Zhou:

明白了。有没有现成的脚本文件?

Jian Zhou:

回复 andarm lin1:

u-boot源码目录下的:\include\configs\am335x_evm.h,里面有u-boot默认脚本参数和bootcommand,bootcommand默认是先SD启动然后NAND启动,你可以参考下

andarm lin1:

回复 Jian Zhou:

"mmcboot=mmc dev ${mmcdev}; " \ "if mmc rescan; then " \ "echo SD/MMC found on device ${mmcdev};" \ "if run loadbootenv; then " \ "echo Loaded environment from ${bootenv};" \ "run importbootenv;" \ "fi;" \ "if test -n $uenvcmd; then " \ "echo Running uenvcmd …;" \   //是在这里给变量 uenvcmd=nand write 0x82000000 0x0 0x20000 ????  这样? "run uenvcmd;" \ "fi;" \ "if run loadimage; then " \ "run mmcloados;" \ "fi;" \ "run mmcbootcmd;"\ "fi;\0" \

还是不知道该如何的修改。

Jian Zhou:

回复 andarm lin1:

如果你希望u-boot先找有没有SD卡,如果有就从SD卡启动,如果没有去NAND上启动,那么这个脚本不需要修改。

不知道你最终是希望u-boot怎么启动。

赞(0)
未经允许不得转载:TI中文支持网 » sd卡自动烧写映像到nand flash问题
分享到: 更多 (0)