SkyEye下如果想直接运行Linux镜像,需要将Linux的非压缩镜像文件(Image)加载到指定的位置,如s3c2410的加载位置是0xc0108000。这样,需要将原先的:
mem_bank: map=M, type=RW, addr=0xc0000000, size=0x00800000
拆分成:
mem_bank: map=M, type=RW, addr=0xc0000000, size=0x00108000
mem_bank: map=M, type=RW, addr=0xc0108000, size=0x006F8000, file=./Image, boot=yes
两个bank。启动是直接执行skyeye,然后再start、run就可以了。
直接运行镜像的配置文件内容如下:
# skyeye config file for S3C2410X
arch: arm
cpu: arm920t
mach: s3c2410x
# physical memory
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00000024
mem_bank: map=F, type=RW, addr=0x80000000, size=0x02000000, file=./norflash.cramfs
# mem_bank: map=M, type=RW, addr=0xc0000000, size=0x00800000
mem_bank: map=M, type=RW, addr=0xc0000000, size=0x00108000
mem_bank: map=M, type=RW, addr=0xc0108000, size=0x006F8000, file=./Image, boot=yes
mem_bank: map=M, type=RW, addr=0xc0800000, size=0x01000000, file=./initrd.img
mem_bank: map=M, type=RW, addr=0xc1800000, size=0x02800000
# 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
mem_bank: map=I, type=RW, addr=0x19100300, 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, state=on
lcd: type=s3c2410x, mod=gtk
touchscreen: type=s3c2410x, mod=gtk
nandflash: type=s3c2410x, name=K9F1208U0B, dump=./nand.dump
flash: type=28F128J3A, base=0x80000000, size=0x02000000
sound: type=s3c2410x, mod=pcm, channels=2, bits_per_sample=16, samples_per_sec=22050
uart:mod=term
dbct:state=on