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 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206
|
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
|