|
想在skyeye模拟at91rm9200,请教大/小虾们
我在学习嵌入式系统开发
因为我看到skyeye能够虚拟at91rm9200的开发 然后我就从skyeye的项目网站上下了skyeye testsuit, 编译了一下skyeye, 之后发现能够skyeye能够虚拟testsuit包内的各种板子,也能够成功虚拟at91rm9200 dk.
然后我开始了我的内核和编译器的准备工作:
1,下载2.6.17.8的内核 也打了相应的补丁
2,下载了gcc-4.1.1, binutils-2.17, 自己制作了一个bootstrap gcc, 用它来编译内核
3,系统类型选择了at91rm9200 dk board,内核编译时IO就选了串口,编译
编译成功, 得到了如下的内核文件
vmlinux: ELF 32-bit LSB executable, ARM, version 1 (ARM), statically linked, not stripped
然后把testsuit内at91rm9200目录下的skyeye.conf拷贝到内核主目录下
如下是该skyeye.conf:
cpu: arm920t
mach: at91rm92
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000
mem_bank: map=M, type=R, addr=0x00100000, size=0x00010000
mem_bank: map=M, type=RW, addr=0xc0000000, size=0x00200000
mem_bank: map=M, type=RW, addr=0xc0200000, size=0x00500000, file=./initrd.tmp
mem_bank: map=M, type=RW, addr=0xc0700000, size=0x00900000
mem_bank: map=I, type=RW, addr=0xfffa0000, size=0x00060000
运行skyeye得到输出如下
[user@localhost]$skyeye -e vmlinux
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
mach info: name at91rm92, mach_init addr 0x8079460
SKYEYE: use arm920t mmu ops
Loaded RAM ./initrd.tmp
exec file "vmlinux"'s format is elf32-little.
load section .init: addr = 0xc0008000 size = 0x0000f000.
load section .text: addr = 0xc0017000 size = 0x000c5d24.
load section __param: addr = 0xc00dd000 size = 0x000000dc.
load section .data: addr = 0xc00de000 size = 0x0001b660.
not load section .bss: addr = 0xc00f9660 size = 0x0000e614 .
not load section .comment: addr = 0x00000000 size = 0x0000113a .
start addr is set to 0xc0008000 by exec file.
输出到这里就结束了!
我不知道自己哪个过程出错误了,没有头绪,希望大家指点!
另外还有一个疑惑, skyeye.conf中指定的存储类型是指虚存还是实存?? IO肯定是指具体物理地址吧 有些不明白 请教请教 |
|