mtd-utils工具编译及使用

目录

1.mtd工具的作用

2.源码获取方式

3.编译方法

4.nandwrite命令用法 

5.nanddump命令用法

6.flash_erase命令用法

7.自定义标记坏块工具


1.mtd工具的作用

         mtd-utils是一组用于管理和维护Linux系统中Memory Technology Devices (MTD)的工具集合。mtd-utils为嵌入式Linux系统提供了强大的存储设备管理功能,特别是在处理闪存设备如NAND flash和NOR flash时,这些工具不仅提供了基本的操作功能,还支持高级的分区管理和文件系统格式化操作。

        通常在嵌入式系统中,如果我们选用的存储器是nor flash,那么使用busybox自带的dd命令工具可以很方便地dump出flash各个分区的二进制数据进行分析;但如果我们选用的是nand flash,那么使用dd命令工具就比较有局限性了,因为其不可以读写nand flash上oob区域。

2.源码获取方式

发布包版本:https://infraroot.at/pub/mtd

Gitee版本:Gitee 极速下载/mtd-utilssource

3.编译方法

先配置个性化的环境变量

export CFLAGS="-muclibc"

export LDFLAGS="-muclibc"

再执行configure,生成编译参数,这里因为不想依赖lzo,zlib等工具,所以--without-crypto --without-zstd --without-ubifs --without-jffs,具体情况可以执行./configure  --help看看帮助信息。

./configure --host=mips-linux --disable-tests --without-crypto --without-zstd --without-ubifs --without-jffs CC=mips-linux-gnu-gcc

再执行编译命令

make CROSS=mips-linux-gnu- WITHOUT_XATTR=1 

4.nandwrite命令用法 

使用dd命令去写mtd分区,其不具备标记坏块和跳过坏块的功能。nandwrite命令就具备标记坏块和跳过坏块的功能,如下所示:

# ./nandwrite -m -p /dev/mtd8 uImage_206.lzo-signed
Writing data to block 0 at offset 0x0
Writing data to block 1 at offset 0x20000
Writing data to block 2 at offset 0x40000
Writing data to block 3 at offset 0x60000
Writing data to block 4 at offset 0x80000
Writing data to block 5 at offset 0xa0000
Writing data to block 6 at offset 0xc0000
Writing data to block 7 at offset 0xe0000
Writing data to block 8 at offset 0x100000
Writing data to block 9 at offset 0x120000
Writing data to block 10 at offset 0x140000
Writing data to block 11 at offset 0x160000
Writing data to block 12 at offset 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值