TI论坛
直播中

梁兴力

8年用户 226经验值
私信 关注
[问答]

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 0x80000
nand write 0x82000000 0x80000 0x80000
请问一下这是怎么弄的??

回帖(11)

罗兰君

2018-5-15 13:33:29
把这些命令写成一个U-boot执行参数,比如flash。
在bootcommand里执行:run flash就可以自动运行了
举报

梁兴力

2018-5-15 13:46:45
引用: 344868615qq 发表于 2018-5-15 13:33
把这些命令写成一个U-boot执行参数,比如flash。
在bootcommand里执行:run flash就可以自动运行了

主要想进行两个操作:
1、判断是否在SD卡启动,如果是才进行上面的指令。
2、如果不是sd卡,那就是nand启动了,这时只需要bootcommand将uImage启动就可以。
请问一下:这需要怎么制作。
举报

罗兰君

2018-5-15 14:04:14
引用: w13756941107 发表于 2018-5-15 13:46
主要想进行两个操作:
1、判断是否在SD卡启动,如果是才进行上面的指令。
2、如果不是sd卡,那就是nand启动了,这时只需要bootcommand将uImage启动就可以。

默认的bootcommand就是执行的这个操作啊,先从SD卡启动,如果没有SD卡,从NAND启动:
"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 ...;"
   "run uenvcmd;"
  "fi;"
  "if run loaduimagefat; then "
   "run mmcboot;"
  "elif run loaduimage; then "
   "run mmcboot;"
  "else "
   "echo Could not find $[bootfile] ;"
  "fi;"
 "else "
  "run nandboot;"
 "fi;"
举报

梁兴力

2018-5-15 14:15:33
引用: 344868615qq 发表于 2018-5-15 14:04
默认的bootcommand就是执行的这个操作啊,先从SD卡启动,如果没有SD卡,从NAND启动:
"mmc dev $[mmcdev]; if mmc rescan; then "
  "echo SD/MMC found on device $[mmcdev];"

但是还不知道怎么将 mmcboot 和 nandboot 里面的bootcmd给分开来写。。
还需要再具体点。谢谢了。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分