finalfantasy000 发表于 2008-8-16 15:57:30

求助skyeyeV1.2.5 no bank found错误

环境:
liunx2.6.22.1
skyeye1.2.5
busybox1.11.1

initrd制作实际操作过程(参考网上的)

创建映像文件并挂到 initrd 目录
#mkdir initrd
#dd if=/dev/zero of=initrd.img bs=1k count=4096
#mke2fs -F -v initrd.img
#mount -o loop initrd.img initrd

将添加 busybox 到此映像文件
#cd initrd
#cp -r ../_install/* .

#创建必要的目录
#mkdir proc lib etc dev root home var tmp
#chmod 777 tmp

建立设备文件
#cd dev
#mknod -m 644 console c 5 1
#mknod -m 644 null c 1 3
#mknod -m 640 ram b 1 1
#mknod -m 644 mem c 1 1
#cd ..

创建脚本文件 etc/inittab, 内容如下:
::sysinit:/etc/init.d/rcS
::askfirst:-/bin/sh
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff -a

设置此脚本执行权限
#chmod 644 etc/inittab

创建脚本文件 etc/init.d/rcS, 内容如下:
#!/bin/sh
/bin/mount -t proc none /proc
/sbin/ifconfig lo 127.0.0.1 up
/sbin/ifconfig eth0 10.0.0.2 netmask 255.0.0.0 up
hostname skyeye
mkdir /var/tmp
mkdir /var/log
mkdir /var/run
mkdir /var/lock
/bin/ash

设置此脚本执行权限
#chmod 755 etc/init.d/rcS

最后一步,执行实际的写入操作,生成 initrd.img
cd ..
umount initrd

skyeye.conf的内容如下!
cpu: arm920t
mach: s3c2410x(我的实际开发板是S3C2410A)

# physical memory
mem_bank: map=M, type=RW, addr=0xc0000000, size=0x00800000
mem_bank: map=M, type=RW, addr=0xc0800000, size=0x00800000, file=./initrd.img
mem_bank: map=M, type=RW, addr=0xc1000000, size=0x01000000

# all peripherals I/O mapping area
mem_bank: map=I, type=RW, addr=0x48000000, size=0x20000000

mem_bank: map=I, type=RW, addr=0x19000300, size=0x00000020
net: type=cs8900a, base=0x19000300, size=0x20,int=9, mac=0:4:3:2:1:f, ethmod=tuntap, hostip=10.0.0.1

lcd: type=s3c2410x, mod=gtk
#dbct:state=on

使用skyeye -c skyeye.conf -e vmlinux运行后出现如下错误!
Your elf file is little endian.
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
mach info: name s3c2410x, mach_init addr 0x806bbf0
ethmod num=1, mac addr=0:4:3:2:1:f, hostip=10.0.0.1
uart_mod:0, desc_in:, desc_out:, converter:
SKYEYE: use arm920t mmu ops
Loaded RAM   ./initrd.img
exec file "vmlinux"'s format is elf32-little.
not load section .comment: addr = 0x00000000 size = 0x00002a30 .
call ARMul_InitSymTable,kernel filename is vmlinux.
SKYEYE:Error in mem_read_word, no bank found, NumInstrs 0, mem_read_word addr = 0 no bank

------------------(下面出现的都是上面这一行然后是不停地刷屏)-------------------------

duzhig 发表于 2008-8-16 21:34:23

可能是vmlinux内核文件没有加载好
在cygwin上getopt错误就是这样
debug一下skyeye吧

finalfantasy000 发表于 2008-8-17 02:58:37

原帖由 duzhig 于 2008-8-16 21:34 发表 http://www.linuxfans.org/bbs/images/common/back.gif
可能是vmlinux内核文件没有加载好
在cygwin上getopt错误就是这样
debug一下skyeye吧

谢谢你的回复,很可惜我对linux的开发不是很了解,你说的debug是指什么呢?
是用GDB吗?
可否提供具体的方案或者策略?
谢谢

另外,似乎很多内核在skyeye进行模拟的时候都与真实的开发板有所不同而要作出调整,请问你知道是依据什么原则进行调整的吗?
我的内核是没有经过这方面的调整的,是否这是一定要做的工作?

ksh 发表于 2008-8-17 10:35:55

回复 #1 finalfantasy000 的帖子

http://skyeye.wikispaces.com/Linux#toc2

duzhig 发表于 2008-8-17 16:05:02

哦什么时候加上load_addr:base=0x20000000, mask=0xFFFFFF
1.2.6还没有实现吧
9200可以加载到20000000了吗不用改hardware.h了
我试验怎么还是
unknown option load_addr
另外http://skyeye.wikispaces.com/Linux#toc2里要提示编译内核时候
bootline要改主要是initrd参数要和skyeye.conf对应起来
页: [1]
查看完整版本: 求助skyeyeV1.2.5 no bank found错误