» 上一篇:  
» 下一篇:  
 


SkyEye是开源软件(OpenSource Software)项目,中文名字是“天目”。SkyEye的目标是在通用的Linux和Windows平台实现一个仿真集成开发环境,模拟常见的嵌入式计算机系统;可在SkyEye上运行μClinux以及μC/OS-II等多种嵌入式操作系统和各种系统软件(如TCP/IP、图形子系统、文件子系统等),并可对它们进行源码级的分析和测试。

说白了,SkyEye就是一个嵌入式系统虚拟机,在一定程度上可以代替开发板的功能,从而方便嵌入式开发学习。这次在ubuntu9.10中安装SkyEye是想用其来学习eCos移植和技术开发,然后在此基础上,选定一两款开发板进行实践开发。

网上有很多关于如何在linux中安装SkyEye的文章介绍了。总体上就两方法,一是在线安装,二是源码编译安装。本来是很容易的事情,但我在安装过程中,却遇到了不少麻烦。

首先,使用在线安装方法安装,却老是出现类似如下的问题:

reille@ubuntu:~$ sudo apt-get install skyeye
正在读取软件包列表… 0% 正在读取软件包列表… 100% 正在读取软件包列表… 完成
正在分析软件包的依赖关系树… 0% 正在分析软件包的依赖关系树… 0% 正在分析软件包的依赖关系树… 50% 正在分析软件包的依赖关系树… 50% 正在分析软件包的依赖关系树
正在读取状态信息… 0% 正在读取状态信息… 0% 正在读取状态信息… 完成
有一些软件包无法被安装。如果您用的是不稳定(unstable)发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们还在新到(incoming)目录中。
下列的信息可能会对解决问题有所帮助:

下列的软件包有不能满足的依赖关系:
libc6-dev: 破坏: pkg-config (< 0.26-1) 但是 0.22-1build1 正要被安装
libglib2.0-0: 破坏: gvfs (< 1.8) 但是 1.4.1-0ubuntu1 正要被安装
ppp: 破坏: network-manager (<= 0.8.0.999-1) 但是 0.8~a~git.20091013t193206.679d548-0ubuntu1 正要被安装
E: 无法安装的软件包

大概意思是依赖的库版本不对,但不管你如何更新这些包,都不管用。

没办法,就尝试源码编译安装,按照源码中INSTALL文件的说明,安装方法是:

  1. ./configure
  2. make lib
  3. make
  4. install
  5. install lib

但在make步骤中,老是错误,以为是依赖包的问题,按照如下方法更新依赖包:

sudo apt-get install libgtk2.0-dev pkg-config libatk1.0-dev libpango1.0-dev libfreetype6-dev libglib2.0-dev libx11-dev binutils-dev libncurses5-dev libxpm-dev

但有效包就是更新不成功,就是出现如在线安装时出现的那种类似错误。而且有一些包更新后,出现一些莫名其妙的错误,如头文件不对啊总总。也换过skyeye的版本,依旧如此。

最后没办法,换一个Ubuntu虚拟机(我有两个Ubuntu虚拟机,一个是办公室装的;另一个是在家装的,给自己玩用的。都是Ubuntu9.10,但是不同的版本,家里装的是alternative版本的,办公室装的是desktop版本的)。

切换到办公室装的那个Ubuntu虚拟机后,再用在线安装方法,却可以装成功。估计是Ubuntu系统环境的问题引起的。装成功后,运行skyeye时,却出现了如下错误:

skyeye: error while loading shared libraries: libbfd-2.19.90.20090909.so: cannot open shared object file: No such file or directory

解决方法:

在ubuntu 9.10中,libbfd的版本是libbfd-2.20.so,位于/usr/lib目录下。建立一个链接文件libbfd-2.19.90.20090909.so,使其链接到libbfd-2.20.so,即可以解决。如下命令:

sudo ln -s /usr/lib/libbfd-2.20.so /usr/lib/libbfd-2.19.90.20090909.so

然后再执行:skyeye,即可以看到如下信息了:

reille@ubuntu:~$ skyeye

**************************** WARNING **********************************
If you want to run ELF image, you should use -e option to indicate
your elf-format image filename. Or you only want to run binary image,
you need to set the filename of the image and its entry in skyeye.conf.
***********************************************************************

Your elf file is little endian.
Failed to open skyeye config file skyeye.conf in the same directory
error: No such file or directory
SkyEye 1.2.5
Bug report: skyeye-developer@lists.gro.clinux.org
Usage: skyeye [options] -e program [program args]
Default mode is STANDALONE mode
——————————————————————
Options:
-e exec-file the (ELF executable format)kernel file name.
-l load_address,load_address_mask
Load ELF file to another address, not its entry.
-b specify the data type is big endian when non “-e” option.
-d in GDB Server mode (can be connected by GDB).
-c config-file the skyeye configure file name.
-h The SkyEye command options, and ARCHs and CPUs simulated.
——————————————————————
———– Architectures and CPUs simulated by SkyEye————-
——– ARM architectures ———
at91
lpc
s3c4510b
s3c44b0x
s3c44b0
s3c3410x
ep7312
lh79520
ep9312
cs89712
sa1100
pxa_lubbock
pxa_mainstone
at91rm92
s3c2410x
s3c2440
sharp_lh7a400
ns9750
——– BlackFin architectures —-
bf533
bf537
reille@ubuntu:~$

» 文章出处: reille博客—http://velep.com , 如果没有特别声明,文章均为reille博客原创作品
» 郑重声明: 原创作品未经允许不得转载,如需转载请联系reille#qq.com(#换成@)
分享到:

Sorry, the comment form is closed at this time.

   
© 2012 velep.com | reille blog | 管理| 粤ICP备12094833号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha

无觅相关文章插件,快速提升流量