打印

由Nandflash坏块引起的S3C2440无法启动的问题?

[复制链接]
5716|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
clf1985|  楼主 | 2009-5-21 08:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
先给出内核打印信息:

CPU ID: 0x32440001, running at 405MHz
FCLK=405MHz, HCLK=101MHz, PCLK=50MHz, UPLL=48MHz, UCLK=48MHz
MPLLVal [M:0x7f, P:0x2, S:0x1]
CLKDIVN: 0x00000005
Console: Serial port 0, Baud rate is 115200.
Linux OS image stored in NAND Flash.
Autoboot delay is 1 seconds.
S3C2440A USB Downloader mode: DMA
<<<<<<<<Press any key for menu>>>>>>>>
Copy linux kernel from 0x00050000 to 0x30008000, size = 0x00200000 ... done!
zImage magic = 0x016f2818
Setup linux parameters at 0x30000100
linux command line is: "noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0 rootfstype=yaffs"
MACH_TYPE = 782
NOW, Booting Linux......
Uncompressing Linux.................................................................................................................. done, booting the kernel.
Linux version 2.6.13 (root@localhost.localdomain) (gcc version 3.3.2) #156 Wed May 20 13:53:41 CST 2009
CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)
Machine: SBC2440
ATAG_INITRD is deprecated; please update your bootloader.
Memory policy: ECC disabled, Data cache writeback
CPU S3C2440A (id 0x32440001)
BUG: mapping for 0x19000000 at 0xd0000000 overlaps vmalloc space
S3C2440: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz
S3C2410 Clocks, (c) 2004 Simtec Electronics
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Built 1 zonelists
Kernel command line: noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0 rootfstype=yaffs
irq: clearing pending ext status 0000d200
irq: clearing subpending status 00000092
PID hash table entries: 512 (order: 9, 8192 bytes)
timer tcon=00500000, tcnt a4ca, tcfg 00000200,00000000, usec 00001e57
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 64MB = 64MB total
Memory: 60800KB available (2691K code, 1037K data, 288K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
USB Power Control, (c) 2004 Simtec Electronics
S3C2440: Initialising architecture
S3C2440: IRQ Support
S3C2440: Clock Support, UPLL 48.000 MHz
SCSI subsystem initialized
usbcore: registered new driver hub
S3C2410 DMA Driver, (c) 2003-2004 Simtec Electronics
DMA channel 0 at c4800000, irq 33
DMA channel 1 at c4800040, irq 34
DMA channel 2 at c4800080, irq 35
DMA channel 3 at c48000c0, irq 36
NetWinder Floating Point Emulator V0.97 (double precision)
devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
yaffs May 20 2009 13:49:40 Installing. 
Initializing Cryptographic API
Console: switching to colour frame buffer device 128x60
S3C24X0 fb0: s3c2410fb frame buffer device initialize done
GPIO L3 bus interface for S3C2440, installed
S3C2410 RTC, (c) 2004 Simtec Electronics
s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling
enable_irq(19) unbalanced from c0018bfc
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440
s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440
s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
nbd: registered device at major 43
MAC: 00:60:6E:00:00:01
Linux video capture interface: v1.00
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c2410-nand: mapped registers at c4a00000
30 ns is too big for current clock rate 101250
s3c2410-nand: timing: Tacls 0ns, Twrph0 4294ns, Twrph1 0ns
NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 149 at 0x00254000
Bad eraseblock 150 at 0x00258000
Bad eraseblock 151 at 0x0025c000
Bad eraseblock 152 at 0x00260000

。(N多连续坏块)


Bad eraseblock 1576 a
Bad eraseblock 1578 at 0x018a8000
Bad eraseblock 1579 at 0x018 1581 at 0x018b4000
Bad eraseblock 1582 at 0x018b8000
Bad erast 0x018c0000
Bad eraseblock 1585 at 0x018c4000
Bad eraseblock ad eraseblock 1588 at 0x018d0000
Bad eraseblock 1589 at 0x018d4eblock 1591 at 0x018dc000
Bad eraseblock 1592 at 0x018e0000
Ba0x018e8000
Bad eraseblock 1595 at 0x018ec000
Bad eraseblock 15000
Bad eraseblock 1598 at 0x018f8000
Bad eraseblock 1599 at 0Bad eraseblock 3982 at 0x03e38000
其他一些启动信息略过。。。。。。。
yaffs: yaffs_GutsInitialise()
block 2 is bad
block 3 is bad
block 4 is bad
block 5 is bad
block 6 is bad
block 7 is bad
block 8 is bad
block 9 is bad
block 10 is bad
block 11 is bad
block 12 is bad
block 13 is bad
block 14 is bad
block 15 is bad
block 16 is bad
block 17 is bad
....


yaffs: yaffs_GutsInitialise() done.

VFS: Mounted root (yaffs filesystem).
mount_devfs_fs(): unable to mount devfs, err: -2
Freeing init memory: 288K
Warning: unable to open an initial console.
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
 



Flash 用的是K9F1208U0C,试过换了一片NADNFLASH,还是不行。就不确定问题出在哪里了?

相关帖子

沙发
myitlover| | 2009-5-21 15:45 | 只看该作者

K9F1208U0C的读写加点延时看看

K9F1208U0C的读写加点延时看看
它比K9F1208U0B时序要求更严格
也不一定是物理坏块引起的

使用特权

评论回复
板凳
clf1985|  楼主 | 2009-5-22 19:29 | 只看该作者

谢谢,但是其他的板子没有发现问题

似乎和软件无关。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

72

帖子

0

粉丝