SkyEye-V1.2.x README

yuchen@tsinghua.edu.cn

1 Install (just type below command)
1.1 on Linux/MinGW/CygWin
	$ make
1.2 on FreeBSD
	$ gmake
1.3 on BeOS
	$ cd utils/portable/beos/tap_driver
	$ make install
	$ cd ../../../../
	$ export PATH=/boot/home/gnupro-3.4.3/bin:$PATH
	$ make NO_BFD=1

then the SkyEye binary code will be in binary/skyeye or binary/skyeye.exe (CygWin/MinGW)

Options:

To compile the binary as static, which allows easy distributions:
	$ make STATIC=1

You can enable various compile options on the command 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:
4.1 on Linux
- If you don't run "make NO_BFD=1" to compile SkyEye:
	binutils-dev(bfd)
- LCD simulation by GTK+ implementation required:
	gtk+-2.0-dev pkg-config atk-dev pango-dev freetype2-dev glib-dev x11-dev

4.2 on MinGW/CygWin
- At least: 
	w32api
- If you don't run "make NO_BFD=1" to compile SkyEye:
	binutils-dev(bfd)

4.3 on BeOS
	BeOS R5 Development Tools
	gnupro-3.4.3

5 Tested Environment
X86-32:
	CygWin/MinGW
	gcc-3.4, gcc-4.1.2

	Linux (Debian)
	gcc-3.3 gcc-3.4
	gcc-2.95 gcc-4.0 (doesn't support DBCT)

	BeOS (R5.0.3, Exp-Dano)
	gcc-2.95 + gcc-3.4.3

X86-64:
	Linux (Fedra)
	gcc-3.4 for X86-64 (doesn'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 hardware configuration files.
# memmap.conf is for skyeye-v0.2.5-
# skyeye.conf is for skyeye-v0.2.5+
# usually you don't need to change them.
# for example, a AT91's configuration file is shown below:
#--------------------------------------------------------------------------------
# below is the cpu config info
# cpu: maybe arm7tdmi or arm720t
cpu: arm7tdmi 

#--------------------------------------------------------------------------------
# below is the machine(development 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
#
# type: cs8900a, rtl8019, rtl8019_16, s3c4510b
# 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: type=xxxx 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: type=rtl8019, mac=0:4:3:2:1:f, ethmod=tuntap, hostip=10.0.0.1

#------------------------------------------------------------------------------------
# below is the uart config info
#
# mod: stdio, pipe(fd_in/fd_out), net
# converter: dcc
#
# example:
#	uart: mod=stdio
#	uart: mod=stdio, converter=dcc
#	uart: fd_in=/dev/ttyS0, fd_out=/dev/ttyS0
#	uart: mod=pipe, desc=/dev/ttyS0
#	uart: mod=pipe, desc_in=/dev/tty8, desc_out=/dev/tty9
#	uart: mod=net, desc_in=192.168.1.163:21, desc_out=192.168.1.163:1121
#
# 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
# type: au1100, ep7312, pxa, s3c2410x, s3c44b0x
# mod: gtk, win32, beos
lcd: type=ep7312, mod=gtk

#-----------------------------------------------------------------
# below is the touchscreen config info
touchscreen: type=skyeye, base=0xff00b000, size=0x20, int=17

#-----------------------------------------------------------------
# below is the sound config info
# It's recommended to turn on DBCT at the same time.
#
# example:
#	sound: type=s3c44b0x, mod=pcm, channels=2, bits_per_sample=16, samples_per_sec=22050

#-----------------------------------------------------------------
# below is the flash config info
# type: 28F128J3A, SST39LF160, SST39VF160, Am29LV160T-8, Am29LV160T-16,
#       Am29LV160B-8, Am29LV160B-16, Am29LV800T-8, Am29LV800T-16,
#       Am29LV800B-8, Am29LV800B-16
# dump: write to file when data written.
#
# example:
#	flash: type=Am29LV160T-16, base=0x00000000, size=0x02000000, dump=Am29.dump

