1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
|
SkyEye-V1.2 README
yuchen@tsinghua.edu.cn
1 Install (just type below command)
1.1 In X86 32/64bit system OR other non-X86 system OR gcc version >=4.x.x
make
1.3 If you want to add DBCT Acceleration Function In X86 32bit system AND gcc version = 3.x.x
edit Makefile to comment Line 23 in Makefile, then
make
then SkyEye binary code will be in binary/skyeye (linux) or binary/skyeye.exe (cygwin)
Options:
To compile the binary as static, which allows for easy distribution:
$ make STATIC=1
You can enable various compile options on the commnad line. For example, to disable
DBCT do the following:
$ make NO_DBCT=1
To disable compiling with the LCD do the following:
$ make NO_LCD=1
To disable compiling the network device support do the following:
$ make NO_NET=1
You may wish to not compile with the BFD library, to create smaller,
standalone binaries.
$ make NO_BFD=1
2 Usage (just type below command,then skyeye will show usage information)
binary/skyeye -h
notice: you should have a kernel(ELF format or Binary Image), a filesysmte(according to OS), a skyeye config file(default is skyeye.conf)
3 Enjoy it!
you can use skyeye-testsuit-v2.x or later to test SkyEye-V1.x or later
4 required packages:
gtk+-2.0-dev pkg-config atk-dev pango-dev freetype2-dev glib-dev x11-dev binutils-dev(bfd)
5 Tested Environment
X86-32:
CYGWIN/Windows
gcc-3.4
Linux (Debian)
gcc-3.3 gcc-3.4
gcc-2.95 gcc-4.0 (don't support DBCT)
X86-64:
Linux (Fedra)
gcc-3.4 for X86-64 (don't support DBCT)
6 Developers
Project Manager: Chen Yu
Key Developers: Wang Li Ming
Yang Ye
Tea Water
Kang Shuo
Main Developer: Ying Wen Chao
Yang Jian
Liu Yuhong
Trilok Soni
Koodailar
Zeng Yi
Lu Zhe Tao
Li Ming
Ying Sou Yi
Wang Yong Hao
Zhang Zhi Chao
Yang Ji Long
Shi Yang
Cai Qiang
Luo Hui
Song zhenyu
Contributors: Wen Ye
Benno
Simone Zinanni
Stefano Fedrigo
Lian Zhu Lin
7 Original
SkyEye is originally derived from GDB/Armulator. Thanks David McCullough!
Now files in Directory skyeye-v1/arch/arm/common are from GDB/Armulator package.
8 License
SkyEye uses GNU GENERAL PUBLIC LICENSE Version 2
9 Plan
. porting to other environment (cygwin, FreeBSD, etc...) (DONE)
. support PXA27x based MainStone board simulation (DONE)
. improve RSP protocol for GDB remote debug
. add more device simulation in current agile device simulation framework
------------------------------------------------------------------------------------------
APPENDIX A: the content of skyeye.conf
#--------------------------------------------------------------------------------
# memmap.conf and skyeye.conf are all skyeye's hareware coinfigure files.
# memmap.conf is for skyeye-v0.2.5-
# skyeye.conf is for skyeye-v0.2.5+
# usually you needn't to chang them.
# for example, a AT91's configure file is shown below:
#--------------------------------------------------------------------------------
# below is the cpu config info
# cpu maybe arm7tdmi or arm720t
cpu: arm7tdmi
#--------------------------------------------------------------------------------
# below is the machine(develop board) config info
# machine(develop board) maybe at91 or ep7312
mach: at91
#-------------------------------------------------------------------------------
#NOTICE: this parameter is useless for skyeye-V0.3.1+
# have 7 memory bank (include RAM, ROM, mapped IO space)
# below is the memory config info
mem_num: 7
# map=M means ram/rom, map=I means mapped IO space,
# type=RW means can be read or written,
# type=R means read only,
# addr=0x..... means the mem bank's beginning address,
# size=0x..... means the mem bank's memory size,
# file=... is the filesystem image file, used for uclinux4skyeye or armlinux4skyeye
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=./boot.rom
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
#now, add more options on mem_bank
mem_bank: map=M, type=RW, addr=0x10000000, size=0x00000800, file=./loader.bin,boot=yes
#start binary program at 0x100000000
#----------------------------------------------------------------------------------
# below is the net config info
# state=on/off means simulated NIC is wired or not,
# mac=.... means the mac addr in simulated NIC,
# ethmod=tuntap/vnet means the virtual driver used in host evnironment,
# hostip=... means the ip address in host environment to interactive with skyeye.
# format: state=on/off mac=xx:xx:xx:xx:xx:xx ethmod=tuntap/vnet hostip=dd.dd.dd.dd
# *********NOTICE**********
#If you run two more skyeyes at the same time,
# please use different skyeye.conf for each skyeye instance, and only one
# skyeye run first and related skyeye.conf content has hostip value:
# ......
# net: ... ethmod=vnet, hostip=ddd.ddd.ddd.ddd
# other skyeye.conf should has content(hostip[0] should be 0):
# ......
# net: ... ethmod=vnet, hostip=0.ddd.ddd.ddd
net: state=on, mac=0:4:3:2:1:f, ethmod=tuntap, hostip=10.0.0.1
#------------------------------------------------------------------------------------
#uart: use it to read/write characters in another terminal
#now you can use them to connect real serial port.
#you can add an option to skyeye.conf as below:
uart: fd_in=/dev/ttyS0, fd_out=/dev/ttyS0
#then use a terminal connect host's COM1, you can see the output in the terminal.
#-----------------------------------------------------------------------------------
#add log parameter which is used to recode the instr. flow and regs when
#program are running.
log: logon=0, logfile=/tmp/sk1.log, start=100000, end=200000
#logon = 0 or 1 0:doesn't log, 1 do log
#logfile: the filename which have the log info
#start: the start point of instruction flow to log, should >=0
#end: the end point of instructio flow to log
#-----------------------------------------------------------------
# below is the lcd config info
# state=on/off means simulated LCD is wired or not
lcd: state=on
|