ARM-SkyEye

系统环境  ubuntu server 10.04  X64, 

 

SkyEYE 

http://skyeye.sourceforge.net/index.shtml

 

SkyEye is an Open Source Software Project (GPL Licence). Origin from GDB/Armulator, The goal of SkyEye is to provide an integrated simulation environment in Linux and Windows. SkyEye environment simulates/emulates typical Embedded Computer Systems (Now it supports a series ARM, MIPS, PowerPC, Blackfin, Coldfire, and SPARC architecture based microprocessors). You can run some Embedded Operation System such as Embedded Linux, uClinux, uc/OS-II (ucos-ii) etc. in SkyEye, and analysis or debug them at source level.


下载

 

http://sourceforge.net/projects/skyeye/files/

 

 

http://cdnetworks-kr-2.dl.sourceforge.net/project/skyeye/skyeye/skyeye-1.3.0_rc1.tar.gz

 

 vim INSTALL 查看编译、安装说明。

其音

问题  : 参考解决  http://hi.baidu.com/tihu1111/blog/item/9f3a0fa716348f98d1435857.html

 

/root/skyeye-1.3.0_rc1/common/.libs/libcommon.so: undefined reference to `PC'
/root/skyeye-1.3.0_rc1/common/.libs/libcommon.so: undefined reference to `tgetflag'
/root/skyeye-1.3.0_rc1/common/.libs/libcommon.so: undefined reference to `tgetent'
/root/skyeye-1.3.0_rc1/common/.libs/libcommon.so: undefined reference to `UP'
/root/skyeye-1.3.0_rc1/common/.libs/libcommon.so: undefined reference to `tputs'
/root/skyeye-1.3.0_rc1/common/.libs/libcommon.so: undefined reference to `tgoto'
/root/skyeye-1.3.0_rc1/common/.libs/libcommon.so: undefined reference to `tgetnum'
/root/skyeye-1.3.0_rc1/common/.libs/libcommon.so: undefined reference to `BC'
/root/skyeye-1.3.0_rc1/common/.libs/libcommon.so: undefined reference to `tgetstr'
collect2: ld returned 1 exit status
make[2]: *** [skyeye] 错误 1
make[2]:正在离开目录 `/root/skyeye-1.3.0_rc1'
make[1]: *** [all-recursive] 错误 1

主要是缺少termcap库文件,在终端里执行sudo apt-get install libncurses5-dev安装,然后重新编译出错的文件
安装完上面的libxpm-dev,继续执行下面的命令
make clean
./configure
make lib
make            通过 ,这个问题得以解决


sudo make install_lib
sudo make install

 

完成安装,

 

使用  ./configure --help 查看帮助,

 

 

 

 root@lgf:~/skyeye-1.3.0_rc1# ./configure --help


`configure' configures SkyEye 1.3.0 to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

 

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

 

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages

  -V, --version           display version information and exit

  -q, --quiet, --silent   do not print `checking...' messages
      --cache-file=FILE   cache test results in FILE [disabled]


  -C, --config-cache      alias for `--cache-file=config.cache'

  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

 

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/opt/skyeye]


  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

 

By default, `make install' will install all the files in
`/opt/skyeye/bin', `/opt/skyeye/lib' etc. 

 

 You can specify
an installation prefix other than `/opt/skyeye' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/skyeye]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]

 

Program names:
  --program-prefix=PREFIX            prepend PREFIX to installed program names
  --program-suffix=SUFFIX            append SUFFIX to installed program names
  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names

 

X features:
  --x-includes=DIR    X include files are in DIR
  --x-libraries=DIR   X library files are in DIR

 

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
  --target=TARGET   configure for building compilers for TARGET [HOST]

 

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --disable-dependency-tracking  speeds up one-time build
  --enable-dependency-tracking   do not reject slow dependency extractors
  --enable-lcd            enable lcd simulation (default=yes)
  --enable-static[=PKGS]  build static libraries [default=no]
  --enable-shared[=PKGS]  build shared libraries [default=yes]
  --enable-fast-install[=PKGS]
                          optimize for fast installation [default=yes]
  --disable-libtool-lock  avoid locking (might break parallel builds)
  --enable-ltdl-install   install libltdl

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-pic              try to use only PIC/non-PIC objects [default=use
                          both]
  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
  --with-included-ltdl    use the GNU ltdl sources included here
  --with-ltdl-include=DIR use the ltdl headers installed in DIR
  --with-ltdl-lib=DIR     use the libltdl.la installed in DIR
  --with-x                use the X Window System

 

Some influential environment variables:
  CXX         C++ compiler command
  CXXFLAGS    C++ compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  CC          C compiler command
  CFLAGS      C compiler flags
  CPP         C preprocessor
  PKG_CONFIG  path to pkg-config utility
  GTK_CFLAGS  C compiler flags for GTK, overriding pkg-config
  GTK_LIBS    linker flags for GTK, overriding pkg-config
  CXXCPP      C++ preprocessor
  XMKMF       Path to xmkmf, Makefile generator for X Window System

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

 

 

 

http://skyeye.sourceforge.net/wiki/UserManual

 

http://skyeye.sourceforge.net/wiki/um8   编译参数详细说明,

 

 

 

 2.2 Running Linux on SkyEye
Probably the most usage of SkyEye is to running linux on it and debug and analysis linux image. If you want to do this way, firstly you should make sure your processor is supported by SkyEye .Secondly , you possibaly have to unselect some options in linux menuconfig since not all the peripherals of your hardware platform is supported by SkyEye.If there is some unsupported hardware driver in your kernel image, maybe your kernel image is not stable or not runnable on SkyEye.So it is recommended that only drivers of uart and timer is selected in your kernel menuconfig. Then you can compile your kernel source and get an image such as linux.elf.
Consequenyly , we need to write a skyeye.conf for your hardware platform. If you want to know how to write it, please read 3. SkyEye Command and skyeye.conf∞ . If you just only see what looks like when your kernel image run on SkyEye , just select a skyeye.conf from testcase of testsuite package that is same with your platform and copy it to the directory that your image is placed.
Then we can launch our kernel image and skyeye by the following command:

skyeye -e linux.elf -c skyeye.conf


If lucky,you will see your kernel image is running , that just like your kernel runs on yout real hardware platform.......

 

 

你可能感兴趣的:(ARM-SkyEye)