手把手教你搭建国产嵌入式模拟器SkyEye开发环境

article/2025/9/25 21:23:08

SkyEye介绍


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

关于开源版本的更多介绍:点击我跳转

目前开源版本停留在1.3.5版本,后期版本由浙江迪捷软件科技有限公司开发和维护,点击我查看SkyEye的最新介绍。

访问这个地址:https://gitee.com/open-skyeye/build,下载相关的安装包和工具包。

build教程

环境说明

本文介绍在操作系统 Ubuntu 16.04 中编译安装硬件仿真软件 SkyEye 1.3.5 的方法。

镜像版本:ubuntu-16.04.6-desktop-i386.iso
为了保证顺利安装,可以选择与本文相同的Ubuntu来操作。同时你需要下载本仓库,release/skyeye-1.3.5中包含了我们需要的安装包和一些软件包。

安装依赖

由于SkyEye1.3.5引用了llvm3.0底层虚拟机、x11底层界面库等一些软件。如果是新安装的Ubuntu系统,这些软件可能就没有,因此在安装SkyEye之前需要把它们一起安装到机器上。

首先执行:

sudo apt-get update

然后执行以下命令:

sudo apt-get install git-core make automake autoconf libtool g++ python-dev libxft-dev libx11-dev libxpm-dev libncurses5-dev texi2html xterm texinfo x11proto-xext-dev libxext-dev python-numpy python-faulthandler python-wxtools libjson0-dev putty

主要涉及的库有:

名称说明
git-core-
make-
automake-
autoconf-
libtool动态库加载工具
g++-
python-dev-
libxft-dev-
libx11-dev界面底层库依赖包
libxpm-dev-
libncurses5-dev-
texi2html-
xterm终端模拟器
texinfo文档系统
x11proto-xext-dev界面底层库
libxext-dev-
python-numpy-
python-faulthandler-
python-wxtools-
libjson0-dev-
putty终端工具

接着,我们还需要更新或安装一些依赖库,这些库ubuntu自带,但是保险起见,我们需要手动再安装一遍。

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

编译SkyEye

这里我在根目录新建一个文件夹

mkdir work 

进入这个文件夹,从release/skyeye-1.3.5中拷贝安装包和软件包到这里,并对其解压。

cd work
unzip libiconv-1.12.zip
tar -zxvf llvm-3.0.tar.gz
tar -jxvf Python-2.7.tar.bz2
tar -jxvf skyeye-1.3.5_rc1.tar.bz2

简单介绍一下这些软件包的作用:

名称说明
libiconv-1.14字符编码转换库
llvm-3.0汇编虚拟机
Python-2.7程序设计语言
kyeye-1.3.5嵌入式系统仿真器

依次进入libiconv-1.12、Python-2.7文件夹,先安装libiconv:

./configure
make
sudo make install

期间make install若出现问题,make clean后重新make(不要使用sudo make),然后sudo make install

再安装python-2.7:

./configure --enable-shared  --enable-unicode=ucs4
sudo make
sudo make install

以上步骤确认没有问题后进行SkyEye的编译安装,进入SkyEye源码目录,输入以下命令:

./configure 
sudo make lib

若出现如下问题:

/home/tym/work/1.clone/skyeye-1.3.5_rc1/third-party/opcodes/cgen-ops.h:423: multiple definition of `SUBWORDTFSI'

请按照下图指示操作:

<>

接下来输入以下命令,完成编译和安装:

sudo make
sudo make install_lib
sudo make install

skyeye的安装路径在opt/skyeye,我们将它加入环境变量,就可以快捷操作:

先打开当前用户的全局设置:

vim ~/.bashrc

输入代码:

#skyeye 1.3.5
export PATH=/opt/skyeye/bin:$PATH

之后保存退出,输入命令更新设置:

source .bashrc

输入命令,看看能否启动skyeye:

skyeye

如果这个时候报错:

说明这个库不存在,我们需要拷贝一个系统的库到这里,并重新命名:

 sudo cp //usr/lib/i386-linux-gnu/libbfd-2.26-system.so /usr/lib/libbfd-2.18.50.20070907.so

如果编译还出现类似错误,操作相同,直接找到系统下有的库,复制过来重命名即可。

现在我们进入skyeye根目录,利用提供的测试demo,验证skyeye是否正常工作:

cd //opt/skyeye/testsuite/arm_hello
skyeye -e arm_hello

出现上图所示,代表启动正常,现在我们输入两条命令,启动这个demo:

start
run

至此,我们的skyeye安装成功!


http://chatgpt.dhexx.cn/article/uI7Zhp6X.shtml

相关文章

【基于CentOS 7 的NFS服务】

目录 一、概述 二、应用场景 三、安装 四、启动服务 五、目录结构 1.nfs的主配置文件 2.存储配置文件 六、命令解析 1.共享存储管理命令 2.共享目录查看 七、配置 八、客户端访问 1.查看nfs服务器的共享目录 2.挂载 九、实际案例 一、概述 network filesystemt…

Linux——nfs服务配置

启动nfs&#xff0c;一定要先启动rpc Systemctl start rpcbind Systemctl start nfs 停止nfs Systemctl stop nfs 开机自启nfs Systemctl enable rpcbind Systemctl enable nfs 配置网络环境 服务端ens36&#xff0c;配置为192.168.100.254 客户端ens33&#xff0c;配…

安装NFS服务

NFS服务 mhcwz 已于 2022-04-29 19:43:54 修改 68 收藏 1 分类专栏&#xff1a; Linux 文章标签&#xff1a; 运维 linux 服务器 于 2022-03-17 19:33:17 首次发布 版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循 CC 4.0 BY-SA 版权协议&#xff0c;转载请附上原文…

Linux-NFS服务器搭建

一、理论知识 1.NFS概念 NFS是Network File System&#xff08;网络文件系统&#xff09;。 主要功能是通过网络让不同的服务器之间可以共享文件或者 目录。 NFS客户端一般是应用服务器&#xff08;比如web&#xff0c;负载均衡等&#xff09;&#xff0c;可以通…

Linux NFS服务

NFS服务 一、NFS简介 NFS&#xff08;Network File System&#xff09;即网络文件系统&#xff0c;它允许网络中的不同计算机相互之间共享资源。NFS客户端可以透明地读写远程NFS服务器上的文件&#xff0c;就像访问本地文件一样。 二、NFS服务概述 NFS是1980年由SUN发展出来在…

NFS服务

文章目录 一&#xff0c;NFS共享存储服务1.NFS网络文件系统2.NAS存储3.端口号4.特点 二&#xff0c;NFS配置实验步骤总结 三&#xff0c;ssh服务1.SSH远程登陆方式登陆方法一登录方法二 四&#xff0c;SSHD 服务支持两种验证方式1.密码验证2.密钥对验证3.公钥和私钥的关系4.构建…

NFS服务器原理、搭建、配置

目录 NFS服务简介 什么是NFS&#xff1f; NFS挂载原理&#xff1a; RPC与NFS通讯原理&#xff1a; NFS客户端和NFS服务器通讯过程&#xff1a; Linux下NFS服务器部署 NFS服务所需软件及主要配置文件&#xff1a; 服务端安装NFS服务步骤&#xff1a; NFS客户端挂载配置…

CentOS——nfs服务

一.在服务器端的操作&#xff08;IP地址&#xff1a;192.168.2.200&#xff09; 1.下载nfs服务 yum -y install rpcbind nfs-utils 2.关闭防火墙 systemctl stop firewalldc setenforce 0 &#xff1b; 3. 编辑配置文件 vim /etc/exports 添加内容为&#xff1a; /data/…

NFS服务的搭建

NFS 目的是让不同计算机不同操作系统之间可以彼此共享文件。 采用服务器/客户端工作模式 在NFS服务器上将目录设置为输出目录&#xff08;共享目录&#xff09;后&#xff0c;客户端就可以将这个目录挂载到自己系统中的某个目录下。 什么是RPC守护进程 使用NFS服务&#xf…

NFS服务配置

1. 服务器端 &#xff08;1&#xff09;查看ip地址为192.168.1.103。 &#xff08;2&#xff09;先查找一下系统是否安装了nfs的软件包&#xff0c;使用rpm-qa来查看。 rpm –qa |grep nfs &#xff08;3&#xff09;编辑/etc/exports文件来设置服务器端的共享目录&#xff0…

NFS服务介绍

1. NFS服务介绍 1.1什么是NFS服务 NFS&#xff08;Network File System&#xff09;即网络文件系统&#xff0c;它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中&#xff0c;本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件&#xff0c;就像访问…

【ubuntu】nfs服务搭建

一、开篇 在嵌入式linux开发过程中&#xff0c;由于目标平台的资源限制&#xff0c;开发环境一般都不会放到目标板卡上&#xff08;需要放在开发宿主机上&#xff09;&#xff0c;如果需要宿主机与目标板卡之间进行文件传输&#xff0c;该怎么办呢。这时候nfs就派生用场了。nf…

linux上搭建nfs服务

NFS&#xff08;Network File System&#xff09;&#xff1a;它最大的功能就是可以通过网络&#xff0c;让不同的机器、不同的操作系统可以共享彼此的文件。 NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中&#xff0c;而在本地端的系统中来看&…

Linux的nfs服务

目录 一、NFS 1、介绍NFS 2、NFS服务的实现 3、NFS服务的特点 4、NFS服务的作用 二、NFS案例 1、安装RPC依赖和nfs服务&#xff08;rpcbind、nfs-utils&#xff09; 2、修改配置文件&#xff08; /etc/exports &#xff09; 3、开启服务并查看端口 4、挂载查看共享 …

NFS服务详解

文章目录 一.NFS概述二.NFS工作原理2.1NFS工作流程2.2挂载原理 三.NFS服务部署3.1常用命令3.2服务器端配置3.3客户端配置3.4服务测试 四.总结 一.NFS概述 1.概述 NFS是一种基于TCP/IP 传输的网络文件系统协议。通过使用NFS协议&#xff0c;客户机可以像访问本地目录一样访问远…

格兰因果模型可以分析哪些东西_论文实证经验分享|VAR模型实操步骤(上)

VAR模型操作步骤指南 简单来说,VAR模型就是用模型刻画向量间的数量关系。它的适用前提可概括为以下两点:①能进行回归。②向量之间存在一定数量关系(统计意义上的因果关系-格兰杰因果检验)。而满足以上两点的条件则是数据平稳,否则会发生伪回归,且无法进行格兰杰因果检验。…

用神经网络修正系统误差笔记

用神经网络综合修正传感器静态误差的连接方法如下图所示&#xff1a; 即误差修正模型的输出z与被测非电量x成线性关系&#xff0c;且与各环境参数无关。 只要使误差修正模型&#xff0c; 即可实现传感器静态误差的综合修正。 通常传感器模型 f(x;t) 及其反函数是复杂的&…

多元线性回归与高斯误差模型的同源关系

机器学习的起点——线性回归 一、线性回归的地位 首先&#xff0c;线性回归中最基础的概念是一元线性回归模型。 在回归模型中&#xff0c;线性回归模型是最简单的。其具备两个优势&#xff1a;第一是线性回归模型适合于大数据。训练时消耗的计算资源较少。第二是模型本身具备…

用R语言做单方程的误差修正模型(ECM)

># 单方程误差修正模型案例分析 > ########################### > # 数据的生成 > set.seed(12345) > u<-rnorm(500) > x<-cumsum(u)#求累积和&#xff0c;返回一个变量&#xff0c;它的第i个元素是从U&#xff08;1&#xff09;到U&#xff08;i&…

单方程误差修正模型案例分析

单方程误差修正模型案例分析数据的生成set.seed(12345) u<-rnorm(500) x<-cumsum(u) y<-xu E-G协整估计及检验model.lm<-lm(y~x) summary(model.lm)Call: lm(formula y ~ x)Residuals:Min 1Q Median 3Q Max -2.65130 -0.65274 0.02012 0.60…