利用am3358开发产品,开始是在SD卡中调试,没问题后都烧写到nand中。命令如下:
U-Boot #mmc rescan
U-Boot #nand erase 0x0 0x280000
U-Boot #nandecc hw 2
U-Boot #fatload mmc 0 0x82000000 MLO
U-Boot #nand write 0x82000000 0x0 0x20000
U-Boot #fatload mmc 0 0x82000000 u-boot.img
U-Boot #nand write 0x82000000 0x80000 0x1E0000
U-Boot #nand erase 0x280000 0x500000
U-Boot #nandecc hw 2
U-Boot #fatload mmc 0 0x82000000 uImage
U-Boot #nand write 0x82000000 0x280000 0x500000
U-Boot#nand erase 0x780000 0x3200000
U-Boot#nandecc hw 2
U-Boot#fatload mmc 0 0x82000000 ubi.img
U-Boot#nand write 0x82000000 0x780000 0x2000000
每次都要输入这么多命令,非常麻烦,并且容易出错。有没有好的办法可以自动完成这些操作。比如提前写好命令,在uboot下自动执行这些命令。
kooking:
u-boot下面好像没有好的办法
不过可以进入文件系统后烧写,可以定怀个程序或者用脚本,不过如果文件系统没有相应的nand命令,可能就需要移植一下
Jian Zhou:
回复 kooking:
Meng xiangzhen,
U-boot里完全是可以写个脚本命令的,我记得我们之前讨论过啊
rabbit:
回复 Jian Zhou:
具体怎么弄呢,我试过,没有成功
rabbit:
回复 rabbit:
问题解决,修改环境变量即可。
但是发现另外一个问题,当SD卡插在板子上时,利用setenv………;saveenv命令,设置环境变量,保存环境变量。断电,将SD卡拔出,上电发现环境变量并没有保存到nand中,需要修改哪里吗?
tony2:
回复 rabbit:
直接改掉编译uboot的默认的环境变量
kooking:
回复 rabbit:
xiangzhen meng
问题���决,修改环境变量即可。
但是发现另外一个问题,当SD卡插在板子上时,利用setenv………;saveenv命令,设置环境变量,保存环境变量。断电,将SD卡拔出,上电发现环境变量并没有保存到nand中,需要修改哪里吗?
rabbit:
回复 kooking:
硬件应该没有问题,在没有SD卡时,可以将环境变量保存到nand。
leo chen:
回复 rabbit:
有个方法可供参考,可以做个nand的镜像文件,在linux系统下,直接覆盖nand分区
Jian Zhou:
回复 leo chen:
应该是U-boot里的命令默认是这样写的,先把环境变量保存在SD里,如果SD卡不存在,再保存到NAND里。
薄伟:
关于指令“nandecc hw 2”
1. U-Boot下无法识别nandecc指令,如何添加该指令;
2.如果没有该指令会有什么严重后果呢;
TI中文支持网