使用skyeye-1.2.4运行uClinux的问题
我的配置环境RedHat 9.0
arm-elf-gcc 3.2.2
uClinux-dist-20040408
meunconfig为 lpc2200/Armulatorlinux-2.4.x/uClibc
使用skyeye-1.2.4解压make后出现错误
arch/ppc/common/ppc_mmu.c:240: undefined reference to `prom_quiesce'
collect2: ld returned 1 exit status
make: *** Error 1
于是找到prom_quiesce()并将其屏蔽掉,再make 终于出现 enjoy it!
s -lbfd -liberty --end-group-lm
****
**** The binary file located at 'binary/skyeye', enjoy it.
****
然后cd 到uClinux-dist,问题出现了:
# /home/skyeye-1.2.4/binary/skyeye -e linux-2.4.x/linux
big_endian is false.
arch: arm
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name lpc, mach_init addr 0x8067df0
uart_mod:0, desc_in:, desc_out:, converter:
SKYEYE: use arm7100 mmu ops
Loaded ROM images/romfs.img
exec file "linux-2.4.x/linux"'s format is elf32-little.
load section .init: addr = 0x81008000size = 0x0000a000.
SKYEYE:NumInstrs 0, mem_write_byte addr = 81008000 no bank
#
baidu,google了好久也没找到答案,希望大家帮帮忙看哪里的问题,谢谢 我的skyeye.conf
cpu: arm7tdmi
mach: lpc
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 感觉.init的addr应该是0x01000000,可我的是0x81008000。。 read the document in http://skyeye.wiki.sourceforge.net/uClinux#tocuClinux2 Thanks。。 Vendor/Product 配置为GDB/ARMulator,并且skyeye.conf里为mach:at91后成功运行uClinux内核
谢谢
但现在Vendor/Product 重新配置为philips/lpc2200,make无误后
按照http://skyeye.wiki.sourceforge.net/uClinux#tocuClinux2 给出的skyeye.conf,发现file所指向的init ram disk 文件并没有出现,
#skyeye config file sample
cpu: arm7tdmi
mach: lpc
mem_bank: map=M, type=RW, addr=0x40000000, size=0x00200000
mem_bank: map=M, type=RW, addr=0x81000000, size=0x00700000
mem_bank: map=M, type=RW,addr=0x81700000, size=0x00100000, file=./initrd-u
mem_bank: map=I, type=RW, addr=0xe0000000, size=0x20000000
file=./initrd-u 应该怎么改呢? KSH,as I do not comprehend the skyeye config file for lpc so much,so I appoint the file parameter to initrd-2.4.20-8.img which locate under the directory /boot,just as
cpu: arm7tdmi
mach: lpc
mem_bank: map=M, type=RW, addr=0x40000000, size=0x00200000
mem_bank: map=M, type=RW, addr=0x81000000, size=0x00700000
mem_bank: map=M, type=RW,addr=0x81700000, size=0x00100000, file=/boot/initrd-2.4.20-8.img
mem_bank: map=I, type=RW, addr=0xe0000000, size=0x20000000
then it runs longer ,with errors emerging...SOS
# /home/skyeye-1.2.4/binary/skyeye -e linux-2.4.x/linuxbig_endian is false.
arch: arm
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name lpc, mach_init addr 0x8067df0
uart_mod:0, desc_in:, desc_out:, converter:
SKYEYE: use arm7100 mmu ops
./boot/initrd-2.4.20-8.img: No such file or directory
bank 2, Couldn't open boot ROM ./boot/initrd-2.4.20-8.img - execution will commence with the debuger.
# /home/skyeye-1.2.4/binary/skyeye -e linux-2.4.x/linuxbig_endian is false.
arch: arm
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name lpc, mach_init addr 0x8067df0
uart_mod:0, desc_in:, desc_out:, converter:
SKYEYE: use arm7100 mmu ops
Loaded RAM /boot/initrd-2.4.20-8.img
exec file "linux-2.4.x/linux"'s format is elf32-little.
load section .init: addr = 0x81008000size = 0x0000a000.
load section .text: addr = 0x81012000size = 0x000f0940.
load section .data: addr = 0x81104000size = 0x0000b54c.
not load section .bss: addr = 0x8110f560size = 0x00021030 .
not load section .debug_abbrev: addr = 0x00000000size = 0x0004392a .
not load section .debug_info: addr = 0x00000000size = 0x01abf95d .
not load section .debug_line: addr = 0x00000000size = 0x00308e91 .
not load section .debug_pubnames: addr = 0x00000000size = 0x0001a960 .
not load section .debug_aranges: addr = 0x00000000size = 0x00002850 .
call ARMul_InitSymTable,kernel filename is linux-2.4.x/linux.
start addr is set to 0x81008000 by exec file.
Linux version 2.4.24-uc0 (root@pandy) (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 五 12月 21 17:18:24 CST 2007
Processor: philip lpc2200 revision 14
Architecture: zlg-arm-linux
Ignoring unrecognised tag 0x00000000
On node 0 totalpages: 2048
zone(0): 0 pages.
zone(1): 2048 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/ram
Calibrating delay loop... 563.60 BogoMIPS
Memory: 8MB = 8MB total
Memory: 5876KB available (962K code, 183K data, 40K init)
Dentry cache hash table entries: 1024 (order: 1, 8192 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: 2048 (order: 1, 8192 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
Serial driver version 5.05c (2001-07-08) with no serial options enabled
ERROR:io_read: addr = e0010010
R 8115bea8,4,e0010000,10,e0010000,8110c340,8115bea8,81120cc8,8110c340,8110fe30,a0000013,8115bea4,8115bea8,8115be98,8108c278,81087fb8,C a0000093,S 0,0,200000d3,60000013,0,0,0,M 13,B 3,E 0,I 0,P 810e254c,T 0,L e1a0f00e,D 8afffffd,ERROR:io_read: addr = e001000c
R 8115bea8,3,e0010000,c,e0010000,8110c340,8115bea8,81120cc8,8110c340,ff,a0000013,8115bea4,8115bea8,8115be98,8108c28c,81087fb8,C 60000093,S 0,0,200000d3,60000013,0,0,0,M 13,B 3,E 0,I 0,P 810e254c,T 0,L e1a0f00e,D 8afffffd,ERROR:io_write a non-exsiting addr:addr = e001000c, data = bf
ERROR:io_write a non-exsiting addr:addr = e0010008, data = 0
ERROR:io_write a non-exsiting addr:addr = e001000c, data = 0
ERROR:io_write a non-exsiting addr:addr = e0010008, data = 1
ERROR:io_read: addr = e0010008
R 8115bea8,2,e0010000,8,ff,8110c340,8115bea8,81120cc8,8110c340,ff,a0000013,8115bea4,8115bea8,8115be98,8108c31c,81087fb8,C 60000093,S 0,0,200000d3,60000013,0,0,0,M 13,B 3,E 0,I 0,P 810e254c,T 0,L e1a0f00e,D 8afffffd,ERROR:io_write a non-exsiting addr:addr = e001000c, data = ff
ttyS00 at 0xe000c000 (irq = 6) is a 16450
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)
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 1024K
VFS: Mounted root (ext2 filesystem) readonly.
Freeing init memory: 40K
Kernel panic: No init found.Try passing init= option to kernel.
I look for many articles on the website ,no correlative questions there... initrd-u file should be your root file system.Probably you can find it from skyeye-testsuite 2.3 package. then i have a question to ask :why there is not a approprate img file under directory /images after I compile the uClinux-dist-20040408 ,which i can use directly,3Q
I can run the .img files in testsuit correctly,but unluckly,i did not found a corret file for my simulation ,wuwu。because of skyeye.conf &img file
(Vender/Product philips/lpc2200 linux-2.4.xuclib)
and i have found a conf file that is different from sourceforge ,I think this one is more detailed,that is
cpu: arm7tdmi
mach: lpc2210 #ZLG EasyARM2000
# 4.0GB ######################## 0xFFFFFFFF
# # AHB Device #
# 3.75GB ######################## 0xF0000000
# # VPB Device #
# 3.5GB ######################## 0xE0000000
# # #
# 3.0GB # #
# # #
# 2.0GB+18MB ######################## 0x811FFFFF
# #Bank1 Flash outside #
# 2.0GB+16MB ######################## 0x81000000
# 2.0GB+512KB######################## 0x8007FFFF
# #Bank0 RAM outside #
# 2.0GB ######################## 0x80000000
# # #
# # #
# ######################## 0x40003FFF
# # 16KB SRAM in Chip#
# 1.0GB ######################## 0x40000000
# # #
# # #
# # No In Used #
# # #
# 0.0GB ######################## 0x00000000
# Memory Map #
# SRAM Outside Chip begin: 0 ,size: 32Byte ,redirected from 0x80000000,copied by code
mem_bank: map=M, type=RW,addr=0x00000000, size=0x00000032
# SRAM Inside Chip begin:1GB ,size:16KB
mem_bank: map=M, type=RW, addr=0x40000000, size=0x00004000
# SRAM Outside Chip begin: 2G ,size: 512KB
mem_bank: map=M, type=RW,addr=0x80000000, size=0x00080000
# Flash ROM Outside of Chip begin: 2G+16MB size : 2MB
mem_bank: map=M, type=R, addr=0x81000000, size=0x00200000
# IO Map #
#VPB begin: 3.5GB ,size: 2M
mem_bank: map=I, type=RW, addr=0xE0000000, size=0x00200000
#AHB begin: 4GB - 2M, size: 2M
mem_bank: map=I, type=RW, addr=0xFFE00000, size=0x00200000
# LOG #
log: logon=2, logfile=./sk1.log, start=0, end=200000
#net: state=on,mac=00-17-A4-EE-75-CC, ethmod=tuntap, hostip=172.30.67.117
#net: state=on, type=rtl8019, mac=0:4:3:2:1:f, ethmod=tuntap, hostip=192.168.11.3
#uart: fd_in=0, fd_out=1
which one to use 。。
hope you can tell one by one ,thanks
[ 本帖最后由 pandy1110 于 2007-12-24 22:22 编辑 ] You can use romfs.img that shoud be generate by your uClinux building. And it should be located at uClinux-dist/images/ directory. Then you can use romfs.img file to replace initrd-u. You should do all the thing according to the document in skyeye.wiki.sourceforge.net. If you think the document has something wrong, please tell me and I will improve it. 真的不知道这个是怎么修改的,各位,我看你们做这个很早的了,但是现在是2009年了,我现在使用这个来做就做不成功。和上边有位是一样的问题
6# 大 中 小 发表于 2007-12-21 21:22只看该作者
Vendor/Product 配置为GDB/ARMulator,并且skyeye.conf里为mach:at91后成功运行uClinux内核
谢谢
但现在Vendor/Product 重新配置为philips/lpc2200,make无误后
按照http://skyeye.wiki.sourceforge.net/uClinux#tocuClinux2 给出的skyeye.conf,发现file所指向的init ram disk 文件并没有出现,
#skyeye config file sample
cpu: arm7tdmi
mach: lpc
mem_bank: map=M, type=RW, addr=0x40000000, size=0x00200000
mem_bank: map=M, type=RW, addr=0x81000000, size=0x00700000
mem_bank: map=M, type=RW,addr=0x81700000, size=0x00100000, file=./initrd-u
mem_bank: map=I, type=RW, addr=0xe0000000, size=0x20000000
file=./initrd-u 应该怎么改呢?
这个就是该不对啊!麻烦看看是怎么回事。我按照KSH的做法还是没通过,很晕了, 希望大家帮帮忙解决哈!谢谢了! 真的不知道这个是怎么修改的,各位,我看你们做这个很早的了,但是现在是2009年了,我现在使用这个来做就做不成功。和上边有位是一样的问题
6# 大 中 小 发表于 2007-12-21 21:22只看该作者
Vendor/Product 配置为GDB/ARMulator,并且skyeye.conf里为mach:at91后成功运行uClinux内核
谢谢
但现在Vendor/Product 重新配置为philips/lpc2200,make无误后
按照http://skyeye.wiki.sourceforge.net/uClinux#tocuClinux2 给出的skyeye.conf,发现file所指向的init ram disk 文件并没有出现,
#skyeye config file sample
cpu: arm7tdmi
mach: lpc
mem_bank: map=M, type=RW, addr=0x40000000, size=0x00200000
mem_bank: map=M, type=RW, addr=0x81000000, size=0x00700000
mem_bank: map=M, type=RW,addr=0x81700000, size=0x00100000, file=./initrd-u
mem_bank: map=I, type=RW, addr=0xe0000000, size=0x20000000
file=./initrd-u 应该怎么改呢?
这个就是该不对啊!麻烦看看是怎么回事。我按照KSH的做法还是没通过,很晕了, 希望大家帮帮忙解决哈!谢谢了! ./initrd-u 意思是用initrd做文件系统,用uboot引导
file=images/romfs.inguclinux编译好后就生成romfs文件系统 你也以做一个initrd文件系统
页:
[1]