如何处理 nand flash 坏块?
操作流程
1.向flash中写入完整镜像,并启动成功。
2.擦除内核所在的分区,向该区写入新的数据(包括oob区),重新上电出现校验错误
3.重新擦除flash。向flash中写入完整镜像,出现坏块。
擦除:
NAND erase.chip: device 0 whole chip
Erasing at 0x0 -- 0% complete.
Erasing at 0x280000 -- 1% complete.
Skipping bad block at 0x00300000
Skipping bad block at 0x00320000
Skipping bad block at 0x00340000
Skipping bad block at 0x00360000
Skipping bad block at 0x00380000
Skipping bad block at 0x003a0000
Skipping bad block at 0x003c0000
Skipping bad block at 0x003e0000
Skipping bad block at 0x00400000
Skipping bad block at 0x00420000
Skipping bad block at 0x00440000
Skipping bad block at 0x00460000
Skipping bad block at 0x00480000
Skipping bad block at 0x004a0000
Skipping bad block at 0x004c0000
Erasing at 0x500000 -- 2% complete.
Skipping bad block at 0x00580000
Skipping bad block at 0x005a0000
Skipping bad block at 0x005c0000
Skipping bad block at 0x005e0000
Skipping bad block at 0x00600000
Skipping bad block at 0x00620000
Skipping bad block at 0x00640000
Skipping bad block at 0x00660000
Skipping bad block at 0x00680000
Skipping bad block at 0x006a0000
Skipping bad block at 0x006c0000
Skipping bad block at 0x006e0000
Skipping bad block at 0x00700000
Skipping bad block at 0x00720000
Skipping bad block at 0x00740000
Erasing at 0x7a0000 -- 3% complete
写入:
NAND write: device 0 offset 0x280000, size 0x25e498
Skip bad block 0x00300000
Skip bad block 0x00320000
Skip bad block 0x00340000
Skip bad block 0x00360000
Skip bad block 0x00380000
Skip bad block 0x003a0000
Skip bad block 0x003c0000
Skip bad block 0x003e0000
Skip bad block 0x00400000
Skip bad block 0x00420000
Skip bad block 0x00440000
Skip bad block 0x00460000
Skip bad block 0x00480000
Skip bad block 0x004a0000
Skip bad block 0x004c0000
Skip bad block 0x00580000
Skip bad block 0x005a0000
Skip bad block 0x005c0000
Skip bad block 0x005e0000
Skip bad block 0x00600000
Skip bad block 0x00620000
Skip bad block 0x00640000
Skip bad block 0x00660000
Skip bad block 0x00680000
Skip bad block 0x006a0000
Skip bad block 0x006c0000
Skip bad block 0x006e0000
Skip bad block 0x00700000
Skip bad block 0x00720000
Skip bad block 0x00740000
2483352 bytes written: OK
是什么原因?擦除失败,如何强制擦除坏块的oob区数据?