mtd-utils 及 ubi-utils 交叉编译
? NAND是嵌入式系统一个很重要的部件,而mtd-utilts中包含了很多针对NAND的调试和测试的工具。? 1. 在http://git.infradead.org/mtd-utils.git上下载最新的mtd-utils代码,下面是以2009-07-03的代码为例。 2. 解压缩mtd-utils.tgz 3. cd mtd-utils,编辑common.mk: 增加CROSS=arm-linux- ? 在mtd-utils中生成的主要工具有: (1) flash_eraseall,用于擦除指定的MTD分区, 用法如下: ??????./flash_eraseall /dev/mtd1?????擦除MTD1 ??????./flash_eraseall -j /dev/mtd1??擦除MTD1并将其格式化为JFFS2 (2)??nanddump,??打印(或保存)NAND中的内容,用法如下: ?????./nanddump -s 0 -l 8024 -f result.dat /dev/mtd1????将mtd1中从地址0开始的8024长度的内容保存到result.dat中,(缺省的,包含OOB的内容) ?????注意,用vi或vim查看result.dat的内容时是2进制,在命令模式下,输入%!xxd即可转换为十六进制的可读内容。 (3)??其他的还有nandwrite,nandtest等。 ? ? 在mtd-utils/ubi-utils中生成的工具是针对UBIFS的,包含: (1)mtdinfo:?输出指定的mtd分区的信息,该命令只对可读的设备分区有效。 用法: ./mtdinfo /dev/mtd1 ? (2)ubinfo:??输出指定的ubi设备的信息,不带参数时,输出系统所有的ubi设备以及ubi控制设备信息。ubi控制设备即/dev/ubi_ctrl是一个字符设备,在后面还将用到。 用法:./ubinfo ??????./ubinfo /dev/ubi0 ? (3)ubiformat:格式化指定的mtd分区,参数使用的是mtd的字符设备 用法:./ubiformat /dev/mtd1 ? (4)ubiattach:将指定的mtd分区关联到ubi上 用法:./ubiattach /dev/ubi_ctrl -m 1, 将mtd1关连ubi ? (5)ubidetach:解除mtd与ubi的关联 用法:./ubidetach /dev/ubi_ctrl -m 1 ? (6)ubimkvol:创建一个voluem,volume才是最终用户挂载文件系统的地方。 用法:在ubi2上创建4个olume,每个大小是20M,名字分别为my_vol_a,my_vol_b,my_vol_c,my_vol_d. ./ubimkvol /dev/ubi2 -s 20Mib -N my_vol_a ./ubimkvol /dev/ubi2 -s 20Mib -N my_vol_b ./ubimkvol /dev/ubi2 -s 20Mib -N my_vol_c ./ubimkvol /dev/ubi2 -s 20Mib -N my_vol_d ? (7)ubirename: 更改ubi某个olume的名字,或者完成两个volume的互换 用法: (1)将ubi2上名字为my_vol_a的volume名字改为my_vol_newname ./ubirename /dev/ubi2 my_vol_a my_vol_newname (2)将ubi2上名字为my_vol_b和my_vol_c的两个volume互换, ./ubirename /dev/ubi2 my_vol_b?my_vol_c my_vol_c my_vol_b ? (8)ubirmvol: 删除某个volume,可以通过名字或id指定具体的volume 用法: ./ubirmvol /dev/ubi2 -n 1 ? (9)ubinize: 创建ubi image。 用法: ./ubinize -o myubi.img -p 126976 -m 2048 my.ini 其中, -p,指定的是目标flash的physical eraseblock的大小 ???????-s,指定的是目标flash的minimum input/output unit 的大小, 这两个参数的值可以通过“cat /sys/class/ubi/ubi2/*”得到 ???????my.ini是配置文件,其中指定了原文件,目标volume的大小、名字等。其格式如小: [jffs2-volume] (10)ubiupdatevol: 向指定的volume上写数据 用法:./ubiupdatevol /dev/ubi2_0 myubi.img (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |