nanddump
命令存在,但参数有趣,因为我无法在Google上找到任何信息。同样,nandwrite
命令不存在,相反,他们编写了另一个名为psi
的工具来写入芯片。以下是它们与原始同类产品相比的用法输出。$ nanddump
Usage: nanddump mtdX [noswap || swap] [nospare || spare] sector_count
sector_count can be provided as "0" which means the whole partition
那么,这些交换和备用选项有什么用?当我尝试使用
swap
或noswap
转储时,使用命令cat /dev/mtd* > mtd*.bin
时得到的文件相同。但是,使用spare
参数会提供一个稍大的文件。这是我从功能完备的busybox中得到的内容$ nanddump
BusyBox v1.21.1 (2013-07-08 10:56:01 CDT) multi-call binary.
Usage: nanddump [-o] [-b] [-s ADDR] [-f FILE] MTD_DEVICE
Dump the specified MTD device
-o Dump oob data
-b Omit bad block from the dump
-s ADDR Start address
-l LEN Length
-f FILE Dump to file ('-' for stdout)
对于其他工具,
psi
$ psi
usage: psi -o <command> -t <configtype> -f <filename|env.var.name> -s <flashsize> -r <rebootflag>
supported commands: <read> <write> <erase>
supported config types: <asd> <cfg> <env> <flash> <firmware>
supported reboot flags: <yes> <no>
Note: -s parameter is for flash dump/undump only
该工具似乎可以同时读写。好吧,这很难弄清楚,因为我无法使用它来读取mtd分区,并且它也不允许读取固件分区。它仅写入该分区。这是来自busybox的
nandwrite
命令。$ nandwrite
BusyBox v1.21.1 (2013-07-08 10:56:01 CDT) multi-call binary.
Usage: nandwrite [-p] [-s ADDR] MTD_DEVICE [FILE]
Write to the specified MTD device
-p Pad to page size
-s ADDR Start address
所以我相信
flashsize
命令中的psi
与这两个参数有关。 这也是
mtd
的列表$ cat /proc/mtd
dev: size erasesize name
mtd0: 01000000 00004000 "RootFS"
mtd1: 08000000 00020000 "FlashAll"
mtd2: 00020000 00020000 "Bootloader"
mtd3: 00220000 00020000 "BootloaderConfig"
mtd4: 00220000 00020000 "Config"
mtd5: 00220000 00020000 "ASD"
mtd6: 02200000 00020000 "Kernel"
mtd7: 02200000 00020000 "KernelBackup"
mtd8: 02e60000 00020000 "disk"
mtd9: 00220000 00020000 "edr"
mtd10: 00500000 00020000 "bbt"
自定义
nanddump
在读取RootFS
时会引发错误。这些都是我现在所拥有的。#1 楼
不知道交换的内容,但是备用区域或OOB区域是每页末尾用于存储元数据的附加区域,例如:坏块标记
ECC(错误检查和纠正)代码
系统可能会使用的自定义数据
spare
选项似乎启用了转储,这就是转储稍微大一些的原因。 有关NAND闪存组织的更多信息,请参阅劳特巴赫的这份不错的文档
评论
感谢您的答复。我检查了那个文件,确实是一个不错的文件。如您所说,我确认备用选项可用于芯片数据表中的额外数据。我也意识到交换更改了转储的字节序。我有一个引导加载程序转储,其中的“ cfe”用普通的写成,交换时变成“ efc”。我也能够使用psi命令转储。它以64KB数据的倍数转储。我相信那是页面大小,但是我不确定。 psi命令没有ecc选项
– ekardon
20-5-20在2:56