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