s3c2410 板子启动错误信息
我刚把板子先用jtag线把vivi重新拷了一遍,然后用串口连接,重新分区,然后将vivi拷进去,再重启板子,把,kernel , rootfs全部重新拷了一遍,结果重启之后板子就一直不停地出现出错信息,板子启动信息如下:
VIVI version 0.1.4 (root@linux9) (gcc version 2.95.2 20000516 (release) [Rebel.4MMU table base address = 0x33DFC000
Succeed memory mapping.
NAND device: Manufacture ID: 0xec, Chip ID: 0x76 (Samsung K9D1208V0M)
Found saved vivi parameters.
Press Return to start the LINUX now, any other key for vivi
Copy linux kernel from 0x00030000 to 0x30008000, size = 0x000c0000 ... done
zImage magic = 0x016f2818
Setup linux parameters at 0x30000100
linux command line is: "noinitrd root=/dev/bon/2 init=/linuxrc console=ttyS0"
MACH_TYPE = 193
NOW, Booting Linux......
Uncompressing Linux...................................................... done,.Linux version 2.4.18-rmk7-pxa1 (root@localhost.localdomain) (gcc version 2.95.36CPU: ARM/CIRRUS Arm920Tsid(wb) revision 0
Machine: Samsung-SMDK2410
On node 0 totalpages: 16384
zone(0): 16384 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: noinitrd root=/dev/bon/2 init=/linuxrc console=ttyS0
DEBUG: timer count 15626
Console: colour dummy device 80x30
Calibrating delay loop... 99.94 BogoMIPS
Memory: 64MB = 64MB total
Memory: 62636KB available (1431K code, 323K data, 76K init)
Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes)
Inode-cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
CPU clock = 200.000 Mhz, HCLK = 100.000 Mhz, PCLK = 50.000 Mhz
Initializing S3C2410 buffer pool for DMA workaround
S3C2410 USB Controller Core Initialized
USB Function Character Driver Interface - 0.5, (C) 2001, Extenex Corp.
usbctl: Opened for usb-char
usbctl: Started for usb-char
Starting kswapd
devfs: v1.10 (20020120) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
ttyS%d0 at I/O 0x50000000 (irq = 52) is a S3C2410
ttyS%d1 at I/O 0x50004000 (irq = 55) is a S3C2410
ttyS%d2 at I/O 0x50008000 (irq = 5 is a S3C2410
LCDcon1 = 0x00000779
LCDcon2 = 0x044fc041
LCDcon3 = 0x0030ef1e
LCDcon4 = 0x00000d03
LCDcon5 = 0x00014809
LCDaddr1 = 0x181c0800
LCDaddr2 = 0x001d3400
LCDaddr3 = 0x000000f0
LCDcon1 = 0x00000779
LCDcon2 = 0x044fc041
LCDcon3 = 0x0030ef1e
LCDcon4 = 0x00000d03
LCDcon5 = 0x00014809
LCDaddr1 = 0x181c0800
LCDaddr2 = 0x001d3400
LCDaddr3 = 0x000000f0
Console: switching to colour frame buffer device 30x40
Installed S3C2410 frame buffer
pty: 256 Unix98 ptys configured
s3c2410-ts initialized
S3C2410 Real Time Clock Driver v0.1
S3C2410 GPIO buttons: eint19(special) eint6(special) eint7(special) eint5(speci
block: 128 slots per queue, batch=32
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
eth0 network interface found iobase=c4840300
00:13:F6:6C:87:89:
00:13:F6:6C:87:89:
Linux video capture interface: v1.00
SCSI subsystem driver Revision: 1.00
request_module[scsi_hostadapter]: Root fs not mounted
NAND device: Manufacture ID: 0xec, Chip ID: 0x76 (Samsung K9D1208V0M)
bon0: 00000000-00030000 (00030000) 00000000
bon1: 00030000-00100000 (000d0000) 00000000
bon2: 00100000-03ffc000 (03efc000) 00000000
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhci.c: $Revision: 1.275 $ time 14:36:30 Jul 7 2006
usb-uhci.c: High bandwidth mode enabled
usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
usb-ohci.c: USB OHCI at membase 0xe9000000, IRQ 26
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
port #1 suspened!
port #0 alived!
hub.c: 1 port detected
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 4096)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NetWinder Floating Point Emulator V0.95 (c) 1998-1999 Rebel.com
bon: ecc error, page = 0x00000800
end_request: I/O error, dev 61:02 (bon), sector 0
bon: ecc error, page = 0x00000808
end_request: I/O error, dev 61:02 (bon), sector 8
bon: ecc error, page = 0x00000810
end_request: I/O error, dev 61:02 (bon), sector 16
bon: ecc error, page = 0x00000818
end_request: I/O error, dev 61:02 (bon), sector 24
VFS: Mounted root (cramfs filesystem).
Mounted devfs on /dev
Freeing init memory: 76K
bon: ecc error, page = 0x00000968
end_request: I/O error, dev 61:02 (bon), sector 360
bon: ecc error, page = 0x00000970
end_request: I/O error, dev 61:02 (bon), sector 368
……(类似信息)
bon: ecc error, page = 0x000009c0
end_request: I/O error, dev 61:02 (bon), sector 448
Error -3 while decompressing!
c01aab11(2051)->c0339000(4096)
Error -5 while decompressing!
c01ab314(2431)->c0338000(4096)
bon: ecc error, page = 0x000009c0
end_request: I/O error, dev 61:02 (bon), sector 448
……(类似信息)
bon: ecc error, page = 0x00001350
end_request: I/O error, dev 61:02 (bon), sector 2896
Error -3 while decompressing!
c01a95b9(2041)->c032e000(4096)
bon: ecc error, page = 0x00000968
end_request: I/O error, dev 61:02 (bon), sector 360
bon: ecc error, page = 0x00000970
end_request: I/O error, dev 61:02 (bon), sector 368
bon: ecc error, page = 0x00000978
end_request: I/O error, dev 61:02 (bon), sector 376
Error -3 while decompressing!
c01ad9a9(1530)->c0329000(4096)
Error -3 while decompressing!
c01ae6f0(2419)->c0327000(4096)
Error -3 while decompressing!
c01afa7e(2294)->c0325000(4096)
bon: ecc error, page = 0x00000978
end_request: I/O error, dev 61:02 (bon), sector 376
bon: ecc error, page = 0x00000988
end_request: I/O error, dev 61:02 (bon), sector 392
Error -3 while decompressing!
c01a9374(2557)->c0324000(4096)
linuxrc (1): undefined instruction: pc=4001500c
Code: 00000000 462d5347 502d524f 52474f52 (2e2e4d41)
linuxrc (1): undefined instruction: pc=4001500c
Code: 00000000 462d5347 502d524f 52474f52 (2e2e4d41)
linuxrc (1): undefined instruction: pc=4001500c
Code: 00000000 462d5347 502d524f 52474f52 (2e2e4d41)
linuxrc (1): undefined instruction: pc=4001500c
Code: 00000000 462d5347 502d524f 52474f52 (2e2e4d41)
linuxrc (1): undefined instruction: pc=4001500c
Code: 00000000 462d5347 502d524f 52474f52 (2e2e4d41)
linuxrc (1): undefined instruction: pc=4001500c
Code: 00?
后面还在不停地闪现类似的信息,不知怎么回事?
板子的分区信息如下:
vivi> part show
mtdpart info. (4 partitions)
name offset size flag
------------------------------------------------
vivi : 0x00000000 0x00020000 0 128k
param : 0x00020000 0x00010000 0 64k
kernel : 0x00030000 0x000c0000 0 768k
root : 0x00100000 0x00600000 0 6M
所用的viv是买板子时提供的,以前用过,没有问题。
kernel用的2.4.18版本的,后来加了一些自己需要的功能,最后用的镜像是之前编译过的镜像文件,不确定是否成功,不敢断言一定好用。
rootfs是用的cramfs,之前经多次测验可用的一个文件系统。
希望大家能多多给予帮忙,现在正着急用板子,但老是启动有问题,还望大家不吝赐教!
在此先谢过啦!
另外,还想问下分区中的flag=0,4,8分别代表什么意思?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
问题已经解决了,解决方法告诉大家,希望对大家有所帮助.
主要问题在分区上,正确的分区如下:
vivi> part show
mtdpart info. (4 partitions)
name offset size flag
------------------------------------------------
vivi : 0x00000000 0x00020000 0 128k
param : 0x00020000 0x00010000 0 64k
kernel : 0x00030000 0x000c0000 0 768k
root : 0x00100000 0x00400000 4 4M
之前错的地方在于root分区的标志设错了,应该为4,表示"BONFS",具体的意思见下面的命令解释:
part add命令用于添加一个 MTD分区
命令的详细格式如下:
part add name offset size flag
参数 name是要添加的分区的分区名
参数 offset 是要添加的分区的偏移(相对于整个 MTD 设备的起始地址的偏
移,在 ARMer9系统中不论配置的是 NOR Flash,还是 NAND Flash,都只
注册了一个 mtd_info结构,也就是说逻辑上只有一个 MTD设备,这个 MTD
设备的起始地址为 0x00000000);
参数 size是要添加的分区的大小,单位为字节;
参数 flag是要添加的分区的标志,参数 flag的取值只能为以下字符串(请注
意必须为大写)或者通过连接符 |
这个标志表示了这个分区的用途
“BONFS” 作为 BONFS文件系统的分区;
“JFFS2” 作为 JFFS2文件系统的分区;
“LOCK” 该分区被锁定了;
“RAM” 该分区作为RAM使用
例如,添加新的 MTD分区 mypart
vivi> part add mypart 0x500000 0x100000 JFFS2
mypart: offset = 0x00500000, size = 0x00100000, flag = 8
现在看来flag已经基本明白了,各自对应的情况如下:
0 RAM(我推测的)
4 BONFS
8 JFFS2
不知"LOCK"对应的是哪个数字?
[ 本帖最后由 quner2001 于 2007-4-17 11:17 编辑 ]
赞成提出问题解决问题,再贴出来的,BS那些自己解决问题然后再说一句问题解决了就完事的
Setup linux parameters at 0x30000100?这令我很困惑。2410的的memory controller里的地址映射是:0x3000_0000--0x37ff_ffff为bank6的SDRAM,0x3800_0000--0x3fff_ffff为bank7的SDRAM。
怎么会有东西映射到bank6的地址中去呢?我也看过smdk板的原理图,它只接了bank7的SDRAM。
我错了。重新看了原理图,smdk的确sdram是接在nGCS6的。和其他板的原理图弄混了。不好意思。
呵呵,我也希望大家都能把解决方法贴出来,这样可以共同学习。