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 filesystem (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 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.

7. User Manual
You can visit the following url to get its online version:
       http://www.skyeye.org/wiki/UserManual

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
