加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

用dd命令生成bin文件,而不用拆flash读取文件

发布时间:2020-12-15 20:02:13 所属栏目:百科 来源:网络整理
导读:对于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 000200
对于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存下来了。 2) ?读多个分区,保存成一个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=$RELEASE_DIR/9550A_flash.bin seek=UBOOT_START bs=1k? dd if=uImage of=$RELEASE_DIR/9550A_flash.bin seek=KERNEL_START bs=1k? dd if=rootfs.ext2 of=$RELEASE_DIR/9550A_flash.bin seek=FS_START bs=1k 将uboot、kernel和文件系统打包成bin。UBOOT_START 等指的是相应的内容在生成的bin文件中的起始偏移(也即在flash中的偏移),注意seek的单位是block(bs)。 要注意的是,这种方法对不连续的区域,是置为全0的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读