求教:我在Linux-2.4-rmk3上编译的内核在skyeye-0.7.0上无法运行
请高手帮帮忙,我在Linux-2.4-rmk3上编译的内核在skyeye-0.7.0上无法运行,我的skyeye没有问题,它能运行testsuits提供的内核,我编译Linux的内核的.config文件见附件,我用的skyeye.conf文件如下:#skyeye config file sample
cpu: sa1100
mach: sa1100
#mem_bank: map=I, type=RW, addr=0x80000000, size=0x40000000
mem_bank: map=I, type=RW, addr=0x80000000, size=0x40000000
mem_bank: map=M, type=RW, addr=0xc0000000, size=0x00800000
mem_bank: map=M, type=RW, addr=0xc0800000, size=0x00400000, file=./initrd.img
mem_bank: map=M, type=RW, addr=0xc0c00000, size=0x01400000
mem_bank: map=I, type=RW, addr=0xe0000000, size=0x08000000
#0xe0000000 128M cache flush memory bank
当执行run命令就停在了:Starting program: /home/arm_skyeye/c/testsuits/strongarm/sa_with_vmlinux/vmlinux_my ,按Ctrl+c结束时提示:
Program received signal SIGINT, Interrupt.
0xc000812c in __error ()
全部提示信息如下:
(SkyEye) target sim
cpu info: armv4, sa1100, 4401a100, ffffffe0, 2
mach info: name sa1100, mach_init addr 0x81401bc
SKYEYE: use sa11xx mmu ops
Loaded ROM ./initrd.img
Connected to the simulator.
(SkyEye) load
Loading section .init, size 0x14000 vma 0xc0208000
Loading section .text, size 0x17aefc vma 0xc021c000
Loading section .kstrtab, size 0x59f4 vma 0xc0396efc
Loading section __ex_table, size 0x9a8 vma 0xc039c8f0
Loading section __ksymtab, size 0x29f0 vma 0xc039d298
Loading section .data, size 0x12fcf vma 0xc03a0000
Start address 0xc0208000
Transfer rate: 13984440 bits/sec.
Program received signal SIGINT, Interrupt.
0xc021f704 in ?? ()
(SkyEye) target sim
cpu info: armv4, sa1100, 4401a100, ffffffe0, 2
mach info: name sa1100, mach_init addr 0x81401bc
SKYEYE: use sa11xx mmu ops
Loaded ROM ./initrd.img
Connected to the simulator.
(SkyEye) load
Loading section .init, size 0xa000 vma 0xc0008000
Loading section .text, size 0xec554 vma 0xc0012000
Loading section __ex_table, size 0x6d0 vma 0xc00fe560
Loading section .data, size 0xba18 vma 0xc0100000
Start address 0xc0008000
Transfer rate: 8466912 bits in <1 sec.
(SkyEye) run
Starting program: /home/arm_skyeye/c/testsuits/strongarm/sa_with_vmlinux/vmlinux_my
Program received signal SIGINT, Interrupt.
0xc000812c in __error () 然后你可以运行backstrace命令来检查调用的函数栈的信息。 十有八九是因为__lookup_processor_type或者__lookup_machine_type没找到匹配的信息导致的__error8)
LZ你可以从0xc0008000处开始单步跟,走不太远就会调__lookup_processor_type,看看是否这处出错。
如果无误,接着再走不太远就会调__lookup_machine_type,看看是否这处出了问题。
页:
[1]