这个命令和nand read一样, 只是方向是反的, 是把ram的值写到 nand flash中, 但是这个写只能将1改为0, 不能将0写成1. 这个command会自动skipping bad blocks。
nand erase [clean] [off size]
在擦之前会先check是不是坏块,如果是坏块,就不能做擦的动作了。
DM365?:>nand dump 1cc000 10
Page 001cc000 dump:
68 73 71 73 12 05 00 00 87 04 08 78 19 00 40 02
…………
df 88 5b 80 bb 11 32 11 6e e7 77 5a 3d b9 c8 bf
OOB:
ff ff ff ff ff ff ff 45
ed cc 3a e0 8e 52 f9 ad
DM365?:>nand erase 1cc000 100
NAND erase: device 0 offset 0x1cc000,size 0x100
Warning: Erase size 0x00000100 smaller than one erase block 0x00004000
Erasing 0x00004000 instead
Erasing at 0x1cc000 -- 100% complete.
OK
DM365?:>nand dump 1cc000 10
Page 001cc000 dump:
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
…………
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
OOB:
ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff
DM365?:>mw 86000000 00000000
DM365?:>mw 86000004 00000000
DM365?:>mw 86000008 00000000
DM365?:>mw 8600000c 00000000
DM365?:>md 86000000
86000000: 00000000 00000000 00000000 00000000 ................
DM365?:>nand write.oob 86000000 1cc000 10
NAND write: device 0 offset 0x1cc000,size 0x10
16 bytes written: OK
DM365?:>nand dump 1cc000 10
Page 001cc000 dump:
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
…………
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
OOB:
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
不常用的命令
这些命令都是测试时使用的,正常是不会使用到的。
"nand scrub - really clean NAND erasing bad blocks (UNSAFE)n"
"nand markbad off - mark bad block at offset (UNSAFE)n"
"nand biterr off - make a bit error at offset (UNSAFE)n"
"nand lock [tight] [status]n"
" bring nand to lock state or display locked pagesn"
"nand unlock [offset] [size] - unlock sectionn");
http://blog.chinaunix.net/uid-14833587-id-76513.html