当前位置: 技术问答>linux和unix
9260驱动导致系统崩溃
来源: 互联网 发布时间:2016-04-29
本文导语: 我用的9260开发板子,然后自己做的新板子去掉了spi,mmc,usb,i2c,can。 然后烧写kernel和yaffs文件系统。出现异常信息. 重新定制和不重新定制kernel,都一样。重新定制是这样设置的,在menuconfig中去掉了MMC,USB,CAN,I2C...
我用的9260开发板子,然后自己做的新板子去掉了spi,mmc,usb,i2c,can。
然后烧写kernel和yaffs文件系统。出现异常信息.
重新定制和不重新定制kernel,都一样。重新定制是这样设置的,在menuconfig中去掉了MMC,USB,CAN,I2C,SPI的驱动。
无论重新定制与否都是如下情况,我在rc.sysinit中已经去掉了hwclock之类和驱动有关系的。
多次重启,有2种情况:
1.现在系统还是重启多次,有的时候能进入shell,会有一次能进入shell。在进入shell
时候查看ls /dev
dev下面的设备文件如下:
[root@(none) /]# ls /dev
console log null tty tty1 ttyS0 zero
[root@(none) /]#
手动运行udev,会造成segmentation fault错误如下:
[root@(none) /]# /etc/rc.d/udev
Unable to handle kernel paging request at virtual address e121f004
pgd = c3ff0000
[e121f004] *pgd=00000000
Internal error: Oops: 805 [#2]
Modules linked in:
CPU: 0
PC is at init_timer+0x18/0x28
LR is at sock_init_data+0x4c/0x128
pc : [] lr : [] Not tainted
sp : c3f1be40 ip : c3f1be50 fp : c3f1be4c
r10: 00000017 r9 : c3f24ba0 r8 : c001fee4
r7 : 00000000 r6 : 00000000 r5 : 00000000 r4 : c3e161e0
r3 : e121f004 r2 : c3e16240 r1 : c3e16284 r0 : c3e162c0
Flags: NzCv IRQs on FIQs on Mode SVC_32 Segment user
Control: 5317F
Table: 23FF0000 DAC: 00000015
Process udevstart (pid: 263, stack limit = 0xc3f1a250)
Stack: (0xc3f1be40 to 0xc3f1c000)
be40: c3f1be68 c3f1be50 c013f314 c003d43c 00000000 c3e161e0 c0235a04 c3f1be88
be60: c3f1be6c c0196e4c c013f2d8 c01967dc 00000802 00000000 c3e16060 c3f1bec4
be80: c3f1be8c c0197770 c0196dec c3f1bed0 c3f1bed0 fffffff4 c3f1bed0 beb19060
bea0: c3f24ba0 00000070 c3f1bed0 c001fee4 c3f1a000 4015f000 c3f1bf6c c3f1bec8
bec0: c013cba0 c01976f0 00000000 00000000 762f0001 722f7261 6e2f6e75 2f646373
bee0: 6b636f73 00007465 00000000 4001bba4 4001bba4 00000002 beb190a8 00000004
bf00: 40009254 4001bba4 40022d70 beb19180 4003a3b0 40009254 00000000 00000000
bf20: 00000001 00000611 4001bbd0 4001b8e8 00008ac1 40042d10 0000873c 00000001
bf40: 00000000 00000000 c3f1bf6c 00000002 00000000 00000002 00000005 00000066
bf60: c3f1bfa4 c3f1bf70 c013d574 c013cb38 c3c09cc0 c3f1bfa4 00000003 beb19060
bf80: 00000070 00000802 00000004 00000003 00000003 00000000 00000000 c3f1bfa8
bfa0: c001fd40 c013d498 00000003 00000000 00000003 beb19054 00000070 00000000
bfc0: 00000003 00000000 00000005 beb19440 beb19130 00000000 4015f000 00000024
bfe0: 00000000 beb19054 401349d4 401023d0 60000010 00000003 00000000 00000000
Backtrace:
[] (init_timer+0x0/0x28) from [] (sock_init_data+0x4c/0x128)
[] (sock_init_data+0x0/0x128) from [] (unix_create1+0x70/0xf
4)
r5 = C0235A04 r4 = C3E161E0
[] (unix_create1+0x0/0xf4) from [] (unix_stream_connect+0x90
/0x408)
r6 = C3E16060 r5 = 00000000 r4 = 00000802
[] (unix_stream_connect+0x0/0x408) from [] (sys_connect+0x78
/0x98)
[] (sys_connect+0x0/0x98) from [] (sys_socketcall+0xec/0x1e4
)
r7 = 00000066 r6 = 00000005 r5 = 00000002 r4 = 00000000
[] (sys_socketcall+0x0/0x1e4) from [] (ret_fast_syscall+0x0/
0x2c)
r5 = 00000000 r4 = 00000003
Code: e24cb004 e3a03000 e5803000 e59f3008 (e5933000)
Segmentation fault
2. 大多时候不能进入shell,打印信息Freeing init memory: 92K,然后停住了。
贴出最后的部分串口打印信息。
Starting kernel ...
Linux version 2.6.19 (root@global.localdomain) (gcc version 3.4.1 20040714 (Time
Sys 3.4.1-7)) #604 Mon Nov 24 20:18:10 CST 2008
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: Atmel AT91SAM9260-EK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 199 MHz, master 99 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists. Total pages: 16256
Kernel command line: mem=64M console=ttyS0,115200 root=/dev/mtdblock0
AT91: 96 gpio irqs in 3 banks
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 62628KB available (1752K code, 382K data, 92K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
SCSI subsystem initialized
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 2048 bind 1024)
TCP reno registered
NetWinder Floating Point Emulator V0.97 (double precision)
audit: initializing netlink socket (disabled)
audit(0.440:1): initialized
JFFS2 version 2.2. (NAND) (SUMMARY) (C) 2001-2006 Red Hat, Inc.
yaffs Nov 24 2008 16:07:23 Installing.
io scheduler noop registered
io scheduler anticipatory registered (default)
Analog-to-Digital Converter (irq 5)
at91_adc.0: register at /dev/adc0 (254:0)
at91_adc.1: register at /dev/adc1 (254:1)
GPIO: PB17 PB18 PB19
Max706 Watchdog Timer (timeout = 1sec,)
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL
atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL
atmel_usart.3: ttyS3 at MMIO 0xfffb8000 (irq = 8) is a ATMEL_SERIAL
atmel_usart.4: ttyS4 at MMIO 0xfffd0000 (irq = 23) is a ATMEL_SERIAL
RAMDISK driver initialized: 4 RAM disks of 81920K size 1024 blocksize
macb macb: detected PHY at address 1 (ID 0013:78e2)
eth0: Atmel MACB at 0xfffc4000 irq 21 (00:02:34:56:78:19)
NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit
)
Scanning device for bad blocks
Bad eraseblock 1513 at 0x017a4000
Creating 1 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x04000000 : "AT91 NAND partition 1"
mice: PS/2 mouse device common for all mice
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
yaffs: dev is 32505856 name is "mtdblock0"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.0, "mtdblock0"
block 1514 is bad
VFS: Mounted root (yaffs filesystem).
Freeing init memory: 92K。
请高手指点一下是什么原因造成的?
然后烧写kernel和yaffs文件系统。出现异常信息.
重新定制和不重新定制kernel,都一样。重新定制是这样设置的,在menuconfig中去掉了MMC,USB,CAN,I2C,SPI的驱动。
无论重新定制与否都是如下情况,我在rc.sysinit中已经去掉了hwclock之类和驱动有关系的。
多次重启,有2种情况:
1.现在系统还是重启多次,有的时候能进入shell,会有一次能进入shell。在进入shell
时候查看ls /dev
dev下面的设备文件如下:
[root@(none) /]# ls /dev
console log null tty tty1 ttyS0 zero
[root@(none) /]#
手动运行udev,会造成segmentation fault错误如下:
[root@(none) /]# /etc/rc.d/udev
Unable to handle kernel paging request at virtual address e121f004
pgd = c3ff0000
[e121f004] *pgd=00000000
Internal error: Oops: 805 [#2]
Modules linked in:
CPU: 0
PC is at init_timer+0x18/0x28
LR is at sock_init_data+0x4c/0x128
pc : [] lr : [] Not tainted
sp : c3f1be40 ip : c3f1be50 fp : c3f1be4c
r10: 00000017 r9 : c3f24ba0 r8 : c001fee4
r7 : 00000000 r6 : 00000000 r5 : 00000000 r4 : c3e161e0
r3 : e121f004 r2 : c3e16240 r1 : c3e16284 r0 : c3e162c0
Flags: NzCv IRQs on FIQs on Mode SVC_32 Segment user
Control: 5317F
Table: 23FF0000 DAC: 00000015
Process udevstart (pid: 263, stack limit = 0xc3f1a250)
Stack: (0xc3f1be40 to 0xc3f1c000)
be40: c3f1be68 c3f1be50 c013f314 c003d43c 00000000 c3e161e0 c0235a04 c3f1be88
be60: c3f1be6c c0196e4c c013f2d8 c01967dc 00000802 00000000 c3e16060 c3f1bec4
be80: c3f1be8c c0197770 c0196dec c3f1bed0 c3f1bed0 fffffff4 c3f1bed0 beb19060
bea0: c3f24ba0 00000070 c3f1bed0 c001fee4 c3f1a000 4015f000 c3f1bf6c c3f1bec8
bec0: c013cba0 c01976f0 00000000 00000000 762f0001 722f7261 6e2f6e75 2f646373
bee0: 6b636f73 00007465 00000000 4001bba4 4001bba4 00000002 beb190a8 00000004
bf00: 40009254 4001bba4 40022d70 beb19180 4003a3b0 40009254 00000000 00000000
bf20: 00000001 00000611 4001bbd0 4001b8e8 00008ac1 40042d10 0000873c 00000001
bf40: 00000000 00000000 c3f1bf6c 00000002 00000000 00000002 00000005 00000066
bf60: c3f1bfa4 c3f1bf70 c013d574 c013cb38 c3c09cc0 c3f1bfa4 00000003 beb19060
bf80: 00000070 00000802 00000004 00000003 00000003 00000000 00000000 c3f1bfa8
bfa0: c001fd40 c013d498 00000003 00000000 00000003 beb19054 00000070 00000000
bfc0: 00000003 00000000 00000005 beb19440 beb19130 00000000 4015f000 00000024
bfe0: 00000000 beb19054 401349d4 401023d0 60000010 00000003 00000000 00000000
Backtrace:
[] (init_timer+0x0/0x28) from [] (sock_init_data+0x4c/0x128)
[] (sock_init_data+0x0/0x128) from [] (unix_create1+0x70/0xf
4)
r5 = C0235A04 r4 = C3E161E0
[] (unix_create1+0x0/0xf4) from [] (unix_stream_connect+0x90
/0x408)
r6 = C3E16060 r5 = 00000000 r4 = 00000802
[] (unix_stream_connect+0x0/0x408) from [] (sys_connect+0x78
/0x98)
[] (sys_connect+0x0/0x98) from [] (sys_socketcall+0xec/0x1e4
)
r7 = 00000066 r6 = 00000005 r5 = 00000002 r4 = 00000000
[] (sys_socketcall+0x0/0x1e4) from [] (ret_fast_syscall+0x0/
0x2c)
r5 = 00000000 r4 = 00000003
Code: e24cb004 e3a03000 e5803000 e59f3008 (e5933000)
Segmentation fault
2. 大多时候不能进入shell,打印信息Freeing init memory: 92K,然后停住了。
贴出最后的部分串口打印信息。
Starting kernel ...
Linux version 2.6.19 (root@global.localdomain) (gcc version 3.4.1 20040714 (Time
Sys 3.4.1-7)) #604 Mon Nov 24 20:18:10 CST 2008
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: Atmel AT91SAM9260-EK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 199 MHz, master 99 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists. Total pages: 16256
Kernel command line: mem=64M console=ttyS0,115200 root=/dev/mtdblock0
AT91: 96 gpio irqs in 3 banks
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 62628KB available (1752K code, 382K data, 92K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
SCSI subsystem initialized
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 2048 bind 1024)
TCP reno registered
NetWinder Floating Point Emulator V0.97 (double precision)
audit: initializing netlink socket (disabled)
audit(0.440:1): initialized
JFFS2 version 2.2. (NAND) (SUMMARY) (C) 2001-2006 Red Hat, Inc.
yaffs Nov 24 2008 16:07:23 Installing.
io scheduler noop registered
io scheduler anticipatory registered (default)
Analog-to-Digital Converter (irq 5)
at91_adc.0: register at /dev/adc0 (254:0)
at91_adc.1: register at /dev/adc1 (254:1)
GPIO: PB17 PB18 PB19
Max706 Watchdog Timer (timeout = 1sec,)
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL
atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL
atmel_usart.3: ttyS3 at MMIO 0xfffb8000 (irq = 8) is a ATMEL_SERIAL
atmel_usart.4: ttyS4 at MMIO 0xfffd0000 (irq = 23) is a ATMEL_SERIAL
RAMDISK driver initialized: 4 RAM disks of 81920K size 1024 blocksize
macb macb: detected PHY at address 1 (ID 0013:78e2)
eth0: Atmel MACB at 0xfffc4000 irq 21 (00:02:34:56:78:19)
NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit
)
Scanning device for bad blocks
Bad eraseblock 1513 at 0x017a4000
Creating 1 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x04000000 : "AT91 NAND partition 1"
mice: PS/2 mouse device common for all mice
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
yaffs: dev is 32505856 name is "mtdblock0"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.0, "mtdblock0"
block 1514 is bad
VFS: Mounted root (yaffs filesystem).
Freeing init memory: 92K。
请高手指点一下是什么原因造成的?
|
文件系统重做下,busybox重编下试试。
还有你的nand有坏块,看看是否文件系统被破坏了
还有你的nand有坏块,看看是否文件系统被破坏了