skyeye linux qt,Ubuntu 16.04上安装SkyEye及测试

说明一下,在Ubuntu 16.04上安装SkyEye方法参考自互联网,仅供学习。

一、检查支持软件包

gcc,

make,

vim(optional),

ssh,

subversion

binutils-dev (bfd)

atk-dev (libatk1.0-dev)

gtk+-2.0-dev (libgtk2.0-dev)

pkg-config

pango-dev (libpango1.0-dev)

freetype2-dev (libfreetype6-dev)

glib-dev (libglib2.0-dev)

x11-dev (libx11-dev)

建议您在终端里输入sudo apt-get install 软件包 来逐个检查,例如sudo apt-get install libx11-dev用来检x11-dev是否安装。我用Ubuntu16.04系统直接运行sudo apt-get install skyeye可以安装成功,安装的过程中如果系统提示缺少包,再按提示安装即可。

二、安装skyeye

1、建议在终端里输入sudo apt-get install skyeye来安装,这种方式安装默认安装的版本为1.2.5,。

2、也可以下载源码包进行编译安装,源码安装方法如下:

(1)、下载源码包skyeye-1.2.5_REL.tar.gz

(2)、解压源码包:

tar -zxvf skyeye-1.2.5_REL.tar.gz

(3)、输入命令开始编译:

./configure

make NO_DBCT=1 NO_BFD=1

三、检查skyeye安装是否正确

在终端中输入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 nf.

***********************************************************************

Your elf file is little endian.

Failed to open skyeye config file nf in the same directory

error: No such file or directory

SkyEye 1.2.5

Bug report: skyeye-developer@list

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

如果没有出现上面信息,而是出现:

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

解决方法:在Ubuntu 16.04中libbfd版本是libbfd-2.20.1-system.20100303.so,而需要的是libbfd- 2.19.90.20090909.so,手动创建符号链接即可,在终端中输入如下命令:sudo ln -s /usr/lib/libbfd-2.20.1-system.20100303.so /usr/lib/libbfd-2.19.90.20090909.so并回车,OK!在在终端中执行skyeye命令,会打印出正确信息。

4.测试

下载skyeye-testsuite-1.2.5,用tar jxvf解压,在终端中进入skyeye-testsuite-1.2.5/uClinux/at91/uclinux_cs8900a,执行以下命 令:sudo skyeye -e linux,会打印出如下信息:

Your elf file is little endian.

arch: arm

cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0

mach info: name at91, mach_init addr 0x80605a0

ethmod num=1, mac addr=0:0:0:0:0:0, hostip=10.0.0.1

uart_mod:0, desc_in:, desc_out:, converter:

SKYEYE: use arm7100 mmu ops

Loaded ROM  ./romfs.img

exec file "linux"'s format is elf32-little.

load section .init: addr = 0x01000000 size = 0x0000a000.

load section .text: addr = 0x0100a000 size = 0x000e1cd0.

load section .data: addr = 0x010ec000 size = 0x0000a434.

not load section .bss: addr = 0x010f6440 size = 0x000222c0 .

call ARMul_InitSymTable,kernel filename is linux.

start addr is set to 0x01000000 by exec file.

Linux version 2.4.27-uc1 (skyeyeuser@debian) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from )(uClinux XIP and shared lib patches from )) #3 Tue Aug 9 18:57:29 CST 2005

Processor: Atmel AT91M40xxx revision 0

Architecture: EB01

On node 0 totalpages: 1024

zone(0): 0 pages.

zone(1): 1024 pages.

zone(2): 0 pages.

Kernel command line: root=/dev/rom0

Calibrating delay loop... 15.82 BogoMIPS

Memory: 4MB = 4MB total

Memory: 2916KB available (903K code, 178K data, 40K init)

Dentry cache hash table entries: 512 (order: 0, 4096 bytes)

Inode cache hash table entries: 512 (order: 0, 4096 bytes)

Mount cache hash table entries: 512 (order: 0, 4096 bytes)

Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)

Page-cache hash table entries: 1024 (order: 0, 4096 bytes)

POSIX conformance testing by UNIFIX

Linux NET4.0 for Linux 2.4

Based upon Swansea University Computer Society NET3.039

Initializing RT netlink socket

Starting kswapd

Atmel USART driver version 0.99

ttyS0 at 0xfffd0000 (irq = 2) is a builtin Atmel APB USART

ttyS1 at 0xfffcc000 (irq = 3) is a builtin Atmel APB USART

Blkmem copyright 1998,1999 D. Jeff Dionne

Blkmem copyright 1998 Kenneth Albanowski

Blkmem 1 disk images:

0: 1400000-1512BFF [VIRTUAL 1400000-1512BFF] (RO)

RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize

Cirrus Logic CS8900A driver for Linux (V0.02)

eth0: CS8900A rev D detected

NET4: Linux TCP/IP 1.0 for NET4.0

IP Protocols: ICMP, UDP, TCP

IP: routing cache hash table of 512 buckets, 4Kbytes

TCP: Hash tables configured (established 512 bind 512)

NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.

VFS: Mounted root (romfs filesystem) readonly.

Shell invoked to run file: /etc/rc

Command: hostname GDB-ARMulator

Command: /bin/expand /etc/ramfs.img /dev/ram0

Command: mount -t proc proc /proc

mount: /etc/mtab: Read-only file system

Command: mount -t ext2 /dev/ram0 /var

mount: /etc/mtab: Read-only file system

Command: mkdir /var/tmp

Command: mkdir /var/log

Command: mkdir /var/run

Command: mkdir /var/lock

Command: mkdir /var/empty

Command: cat /etc/motd

Welcome to

____ _ _

/ __| ||_|

_  _| | | | _ ____ _  _ _ _

| | | | | | || | _ \| | | |\ \/ /

| |_| | |__| || | | | | |_| |/    \

| ___\____|_||_|_| |_|\____|\_/\_/

| |

|_|

GDB/ARMulator support by <>

For further information check:

Command: /bin/ifconfig eth0 up 10.0.0.2

Execution Finished, Exiting

Sash command shell (version 1.1.1)

而后可以输入一些命令进行测试,例如ls、cd等系统常用命令。

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于那些想进行嵌入式系统软件开发和学习,或者想研究嵌入式Linux等操作系统和一些底层系统软件(如TCP/IP等)的研究和开发人员来说,可能存在如下几方面的问题:(1)经常苦于经费不足,缺少足够的硬件开发板和完善的软件开发环境,相关的书籍对一些最新软件的分析还不够全面,无法深入研究和开发嵌入式软件。(2)高层次的软件设计和开发一般不用太考虑底层硬件的实现细节,如果直接处于一个具体的硬件环境下,在开发和研究中可能会陷入硬件的具体细节中不能自拔,而不能把精力放到高层次的软件设计和开发上。(3)如果硬件开发环境不太稳定(这种情况经常见到),且对具体的硬件不是很了解,则可能在排除问题上花费大量的不必要的时间。(4)如果你想自己尝试设计一个操作系统,则先在一个提供源码级调试的软件仿真器上进行开发,可能会大大提高你的开发进度。<br><br>对于想了解、学习一般操作系统的实现原理,Linux/μCLinux操作系统或TCP/IP等系统级软件的实现的人员,目前一般采用的方法是看书和读源代码,这是一种静态的学习方法,效率较低,比较枯燥,缺少亲自实践的感觉。要想深入分析和开发软件,就要动手编程,不能只是看看书,读读代码,只有通过亲手实践才能够掌握软件设计的核心内容。上面所指出的问题和需求促使SkyEye项目的诞生。 <br><br>3.SkyEye的目标和意义 <br>SkyEye是一个开源软件(OpenSource Software)项目,中文名字是"天目"。SkyEye的目标是在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟常见的嵌入式计算机系统(这里假定"仿真"和"模拟"的意思基本相同);可在SkyEye上运行μCLinux以及μC/OS-II等多种嵌入式操作系统和各种系统软件(如TCP/IP,图形子系统,文件子系统等),并可对它们进行源码级的分析和测试。<br><br>3.SkyEye的目标和意义 <br>SkyEye是一个开源软件(OpenSource Software)项目,中文名字是"天目"。SkyEye的目标是在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟常见的嵌入式计算机系统(这里假定"仿真"和"模拟"的意思基本相同);可在SkyEye上运行μCLinux以及μC/OS-II等多种嵌入式操作系统和各种系统软件(如TCP/IP,图形子系统,文件子系统等),并可对它们进行源码级的分析和测试。<br><br>纯软件的模拟器有许多种,如模拟一个芯片时序逻辑的模拟器、只模拟CPU指令的模拟器、模拟整个硬件开发板的模拟器、模拟一个PDA的模拟器等。存在一些纯软件的仿真器或模拟器,如Stanford大学的SimOS模拟器,它仿真的是MIPS系列CPU和相关外设,可以在其上运行SGI公司的Irix操作系统和软件,目前基本上停止了进一步的开发;PSIM是一个仿真PowerPC指令集的模拟器,目前只支持简单的命令行应用程序;xcopilot是一个PDA模拟器,它是由Greg Hewgill出于个人喜好编写的,它仿真的是M68K CPU,通过它可以给基于PalmOS的软件开发者提供一个模拟开发环境。Bochs是一个仿真x86 CPU的开源项目,目前还支持AMD64 CPU,在它上面可以运行Linux操作系统。其它一些商业的仿真软件如vmware和virtualPC可以仿真一个真实的x86计算机,而Virtutech Simics仿真器可以仿真多种CPU和硬件,功能强大,可用于硬件和系统软件的评测。<br><br>SkyEye是一个指令级模拟器,可以模拟多种嵌入式开发板,可支持多种CPU指令集,在SkyEye上运行的操作系统意识不到它是在一个虚拟的环境中运行,而且开发人员可以通过SkyEye调试操作系统和系统软件。由于SkyEye的目标不是验证硬件逻辑,而是协助开发、调试和学习系统软件,所以在实现上SkyEye与真实的硬件环境相比还是有一定差别的。SkyEye在时钟节拍的时序上不保证与硬件完全相同,对软件透明的一些硬件仿真进行了一定的简化。这样带来的好处是SkyEye的执行效率更高。SkyEye的推出具有下面三方面的意义:<br><br>通过SkyEye仿真集成环境可以很方便地进入到嵌入式系统软件学习和开发的广阔天地中。尤其对于缺少嵌入式硬件开发环境和软件开发环境的用户来说,它将是一个非常有效的学习工具和开发手段,因为SkyEye的整个软件系统都是Open Source的,且基于GPL协议(μCOS-II除外)。因此,如果要学习Linux操作系统或者进行嵌入式系统开发,但苦于没有硬件支持,SkyEye仿真环境软件是一个很好的选择! <br>如果想研究与具体硬件无关的系统软件(如TCP/IP协议栈等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值