对于linux系统,善用dd命令,可以做到直接生成bin文件,而不用生产拆flash。
-
1) 读flash,保存成bin文件:
-
$ cat /proc/mtd
dev: size erasesize name
mtd0: 00260000 00020000 “U-Boot”
mtd1: 00020000 00020000 “U-Boot Env”
mtd2: 00300000 00020000 “U-Boot Logo”
mtd3: 00440000 00020000 “Kernel”
mtd4: 0c820000 00020000 “File System”
mtd5: 02e20000 00020000 “Reserved” -
$ dd if=/dev/mtd0 of=/tmp/uboot.bin
4864+0 records in
4864+0 records out
2490368 bytes (2.4MB) copied, 0.509397 seconds, 4.7MB/s
这样就把uboot存下来了。
- 读多个分区,保存成一个bin文件
(dd if=/dev/mtd0; dd if=/dev/mtd1; dd if=/dev/mtd2; dd if=/dev/mtd3; dd if=/dev/mtd4; dd if=/dev/mtd5) >/test/4230_flash.bin
顺序保存mtd0-mtd5,这个会有点大,建议mount nfs,写到nfs上去。
当然如果mtd不连续,这个方法就不好用了,只能直接生成。
3)直接生成bin文件
dd if=uboot.bin of= R E L E A S E D I R / 9550 A f l a s h