日期:2014-05-16  浏览次数:20749 次

Bad eraseblock 问题请教
我移植的内核启动后,有很多Bad eraseblock 错误。
网上很多帖子说是由于nand flash 没有正常擦除,但重新启动以前移植成功的内核,没有这个问题。


TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
NetWinder Floating Point Emulator V0.97 (extended precision)
msgmni has been set to 121
io scheduler noop registered (default)
Serial: IMX driver
imx-uart.0: ttymxc0 at MMIO 0x1000a000 (irq = 20) is a IMX
console [ttymxc0] enabled
physmap platform flash device: 02000000 at c0000000
physmap-flash physmap-flash.0: map_probe failed
[nandsim] warning: read_byte: unexpected data output cycle, state is STATE_READY return 0x0
NAND device: Manufacturer ID: 0x98, Chip ID: 0x39 (Toshiba NAND 128MiB 1,8V 8-bit)
debug init_nandsim:parts_num is: 5 
flash size: 128 MiB
page size: 512 bytes
OOB area size: 16 bytes
sector size: 16 KiB
pages number: 262144
pages per sector: 32
bus width: 8
bits in sector size: 14
bits in page size: 9
bits in OOB size: 4
flash size with OOB: 135168 KiB
page address bytes: 4
sector address bytes: 3
options: 0x62
Scanning device for bad blocks
Creating 5 MTD partitions on "NAND 128MiB 1,8V 8-bit":
<5>Creating 5 MTD partitions on "NAND 128MiB 1,8V 8-bit":
0x000000000000-0x000000040000 : "BOOT"
0x000000220000-0x000000420000 : "IOS"
0x000000420000-0x000000e20000 : "JFFS2"
0x000000e20000-0x000002220000 : "APP"
0x000002220000-0x000002c20000 : "USER"
GPIO NAND driver, ? 2004 Simtec Electronics
debug: mxcnd_probe.
debug mxcnd_probe: before request_irq.
debug: manage.c request_threaded_irq.
NAND device: Manufacturer ID: 0xec, Chip ID: 0xa1 (Samsung NAND 128MiB 1,8V 8-bit)
Scanning device for bad blocks
Bad eraseblock 83 at 0x000000a60000
.............. //中间还有很多Bad eraseblock,这里我删除掉了[b][/b]
Bad eraseblock 352 at 0x000002c00000
RedBoot partition parsing not available
Registering mxc_nand as whole device
Driver for 1-wire Dallas network protocol.
oprofile: hardware counters not available
oprofile: using timer interrupt.
TCP cubic registered


------解决方案--------------------
试一试把你原先那个内核的flash分区用到你现在的这个内核的flash分区上。
参考一下 kernel_src/drivers/mtd 里面的分区代码
------解决方案--------------------
uboot擦除时使用的是nand erase吧?,使用强制擦除命令nand scrub进行擦除坏块操作