uClinux 编译后不能启动,求助。
当run之后,系统显示Starting programe: /home/uClinux-dist/linux-2.4.x/linux
就不动了。
停止运行后系统显示
setup_processor() at setup.c:145
系统在while(1);中停止。
list 察看代码如下:
if(list>= &__proc_info_end){
printk("CPU configuration botch(ID %08x),unable"
"to continue.\n",processor_id);
while(1);
}
会是设么原因。 没有找到对应的processor_id,你用的是什么开发板? 我也出现这个问题,望兄弟们帮把忙
skyeye.conf:
cpu: arm7tdmi
mach: at91
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000
mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000
mem_bank: map=M, type=R,addr=0x01400000, size=0x00400000, file=images/romfs.img
mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000
mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000
mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000
mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000 整个启动过程:
# skyeye linux-2.4.x/linux
***************************************************************
**** ****
**** SkyEyeSimulator Ver 0.7.7 withGDB 5.3 Interface ****
**** ****
***************************************************************
GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.Type "show warranty" for details.
This SkyEye was configured as "--host=i686-pc-linux-gnu --target=arm-elf"...
(SkyEye) target sim
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name at91, mach_init addr 0x813db08
SKYEYE: use arm7100 mmu ops
Loaded ROM images/romfs.img
Connected to the simulator.
(SkyEye) load
Loading section .init, size 0xa000 vma 0x1000000
Loading section .text, size 0xceba0 vma 0x100a000
Loading section .data, size 0x8854 vma 0x10da000
Start address 0x1000000
Transfer rate: 7380896 bits in <1 sec.
(SkyEye) run
Starting program: /home/yirui/skyeyes/uClinux-dist/linux-2.4.x/linux
Program received signal SIGINT, Interrupt.
setup_processor () at setup.c:145
145 while (1);
(SkyEye) list
140 * can do nothing...
141 */
142 if (list >= &__proc_info_end) {
143 printk("CPU configuration botched (ID %08x), unable "
144 "to continue.\n", processor_id);
145 while (1);
146 }
147
148 proc_info = *list->info;
149
(SkyEye) 解决了这个问题
用以下skyeye.conf:
cpu: arm7tdmi
mach: at91
#FLASH_MEM_BASE=01400000
#FLASH_SIZE=00400000
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000
mem_bank: map=M, type=RW, addr=0x01000000, size=0x00300000
mem_bank: map=M, type=RW, addr=0x01300000, size=0x00100000,file=images/romfs.im\
g
mem_bank: map=M, type=R,addr=0x01400000, size=0x00400000
mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000
mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000
mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000
mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000
log:logon=0,logfile=/tmp/test.log,start=320000,end=3330000
但是又出现了另一个问题:
(SkyEye) run
Starting program: /home/yirui/skyeyes/uClinux-dist/linux-2.4.x/linux
Linux version 2.4.22-uc0 ([email protected]) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/)) #1 &Ograve;&raquo; 9&Ocirc;&Acirc; 13 18:51:04 CST 2004
Processor: Atmel AT91M40xxx revision 0
Architecture: EB01
On node 0 totalpages: 1024
zone(0): 0 pages.
zone(1): 1024 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/rom0
Calibrating delay loop... 15.82 BogoMIPS
Memory: 4MB = 4MB total
Memory: 2996KB available (826K code, 174K data, 40K init)
Dentry cache hash table entries: 512 (order: 0, 4096 bytes)
Inode cache hash table entries: 512 (order: 0, 4096 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 1024 (order: 0, 4096 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
Starting kswapd
Atmel USART driver version 0.99
ttyS0 at 0xfffd0000 (irq = 2) is a builtin Atmel APB USART
ttyS1 at 0xfffcc000 (irq = 3) is a builtin Atmel APB USART
Blkmem copyright 1998,1999 D. Jeff Dionne
Blkmem copyright 1998 Kenneth Albanowski
Blkmem 1 disk images:
0: 1400000-13FFFFF (RO)
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
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 512 bind 512)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Blkmem: bad access: block=2, count=2 (pos=800, len=0)
end_request: I/O error, dev 1f:00 (Blkmem), sector 2
EXT2-fs: unable to read superblock
Blkmem: bad access: block=0, count=2 (pos=400, len=0)
end_request: I/O error, dev 1f:00 (Blkmem), sector 0
romfs: unable to read superblock
Kernel panic: VFS: Unable to mount root fs on 1f:00 感觉是你的文件系统的位置不对,你可以尝试调试一下uclinux,进一步确定问题所在。
页:
[1]