转自 http://blog.csdn.net/kris_fei/article/details/50432248
本例存储设备使用的是sd card, 正常的download 方法是拔卡然后在PC上替换镜像:
$sudo dd if=u-boot.bin of=/dev/sdb bs=1K skip=1 seek=1; sync有种更便捷的方法就是利用u-boot中的fastboot来download,
不过很多人遇到只能download boot.img, system.img和recovery.img,
而不能download u-boot.bin。
原因是u-boot.bin的存放是需要偏移1K的,而fastboot boot默认是没有的。
解决方法如下:
使用如下命令即可正常download:
$sudo fastboot flash bootloader u-boot.bin
为什么要偏移呢?
download到sd card命令:
sudo dd if=u-boot.bin of=/dev/sdb bs=1K skip=1 seek=1; sync
为什么要在/dev/sdb偏移1k的地址才开始写呢?
飞思卡尔文档有说明device的layout:
可以看到前面1k是留给MBR和第二份MBR的。
飞思卡尔允许使用第一个或者第二个MBR以加载不同的分区。
从0x400开始存放的是IVT,而我们u-boot开始正好也是存放的IVT。