Linux上Simplescalar/ARM的安装和运行文档
本文是基于ARM的simplescalar在ubuntu下的安装说明
1.1 软件下载
*********************文件下载地址:http://yunpan.cn/cw2n7dAyfGM9x (提取码:9e2a)*********************
1.下载VMware Fusion虚拟机(所用机器mac book air/windows用户请百度下载VM)
2.下载ubuntu-9.10-desktop-i386.iso版本的linux镜像文件
3.下载simplesim-arm-0.2.tar.gz模拟器的未编译源码
4.下载gcc-3.4.0.tar.gz版本的编译器
( 里面包括
cpp-3.4_3.4.6-6ubuntu3_i386.deb
gcc-3.4-base_3.4.6-6ubuntu3_i386.deb
g++-3.4_3.4.6-6ubuntu3_i386.deb
libstdc++6-dev_3.4.6-6ubuntu3_i386.deb
gcc-3.4_3.4.6-6ubuntu3_i386.deb
)
5.下载wcet_bench基准程序包
1.2 安装过程
1.2.1 解压缩
进入/root文件夹,创建simplescalar文件夹,将下载的软件包复制到此文件夹中,解压缩,并删除压缩包,命令如下:
$ mkdir simplescalar
$ cd simplescalar/
$ tar –zxvf simplesim-arm-0.2.tar.gz
$ rm –f simplesim-arm-0.2.tar.gz
$ tar –zxvf gcc-3.4.0.tar.gz
$ rm –f gcc-3.4.0.tar.gz
(备注:在这过程中可以用sudo nautilus获取root权限,并打开root目录的可视化窗口,方便查看文件的解压缩情况)
1.2.2 设置环境变量
设置三个环境变量,以方便后面的安装,不设置也行。
$ export HOST=i386-Ubuntu-linux 格式为 机器类型-公司-系统
$ export TARGET=sslittle-na-sstrix 设置为小字端机器
$ IDIR=/root/simplescalar 将结果安装到/root/simplescalar
1.2.3 编译simplescalar/arm
$ make config-arm
$ make install
这两条命令后你会发现报错了,error修改:
(1)文件machine.h,如下图,把354-363行放到348行前面(即把2放到1前面)
图1-2-3-1 error1修改示意图
(2)文件range.c,删除81和83行
图1-2-3-2 error2修改示意图
(3)和error2相同,文件eval.c ,删除83和85行
图1-2-3-3 error3修改示意图
修改完成后,当前目录下会生成可执行文件。但是会有错误sim-outorder.c,这是因为ubuntu自带的gcc是4.4的,下载个3.X版本的再make就通过了,下面进入1.2.4修改ubuntu自带的gcc版本。
1.2.4 编译gcc-3.4
(1)进入gcc-3.4目录
$ cd gcc-3.4 // 解压后,进入目录
$ dpkg –i *.deb // 安装目录下所有deb包
$ ls /usr/bin/gcc * -l //查看安装结果
(2)增加gcc-3.4和gcc-4.4选项
$ update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-3.4 40
$ update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-4.4 30
(3)切换到gcc-3.4
$ update-alternatives –config gcc
$ 1 //选择gcc-3.4选项
(4)查看gcc版本,可以看到已经成功安装低版本gcc
$ gcc -v
(5)再次到simplesim-arm目录下
$ make
可以看到当前文件夹下已成功生成可执行文件sim-outorder和sim-profile。
1.3 运行结果
(1)把1.1步骤中simplesim-arm文件夹下生成的可执行文件sim-outorder和sim-profile复制到wcet-bench基准程序arm_compiled_wcet文件夹目录下
(2) cd /wcet_bench/ arm_compiled_wcet/
(3)./sim-outorder *arm (表示该文件夹下任意名称的arm文件)
(4)./sim-profile *.arm
(5)结果如下:
图1-3-1 sim-profile运行结果
图1-3-1 sim-outorder运行结果
Linux上Simplescalar/ARM的安装和运行文档的更多相关文章
- XVFB实现selenium在linux上无界面运行安装篇
selenium在linux上无界面运行,其实是非常简单的.具体的方法有使用HtmlUnitDriver或者PhantomJSDriver,有时间我会写写关于这两个东东的文章,其实基本和ChromeD ...
- linux上源码编译安装mysql-5.6.28
在 linux 上编译安装 mysql-.tar.gz http://www.mysql.com/ mysql下载地址: http://www.mysql.com/downloads/mysql/#d ...
- linux上hadoop2.4.0安装配置
1 环境准备 安装java-1.6(jdk) 安装ssh 1.1 安装jdk (1)下载安装jdk 在/usr/lib下创建java文件夹,输入命令: cd /usr/lib mkdir java 输 ...
- linux上war包方式安装Jenkins
我的安装环境:jdk1.8, linux系统为: [root@ipha-dev71-1 nmon]# cat /etc/redhat-release # Linux查看版本当前操作系统发行版信息 Ce ...
- Linux上zookeeper+dubbo-admin的安装及使用
空linux安装,需要先安装JDK,mysql,tomcat等 一. dubbo-admin依赖外置tomcat. tomcat依赖JDK. 首先要安装JDK,tomcat,顺便安装mysql 安装J ...
- Linux上运行安卓应用:安装使用Anbox
文章目录 #0x0 简介 #0x1 安装教程 #0x11 第一步,安装需要的内核模块 #0x12 安装Anbox #0x2 使用Anbox #0x21 一些简单的设置 #0x22 安装APK #0x3 ...
- 阿里云部署Java web项目初体验(转)/linux 上配置jdk和安装tomcat
摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在阿里云上部署Java web项目. 一.准备工作 购买了阿里云的云解析,和云服务器ecs. 2.下载put ...
- 在linux上cuda9.0 cudnn7.* 安装python3.6 tensorflow 1.5.1
链接:https://www.jianshu.com/p/bcf37d0e4e9b 为了入门机器学习的小伙伴能安装好工具,特制作此教程 按照 Anaconda 下载网站上的说明下载并安装 Anacon ...
- 在linux上如何通过composer安装yii
Composer可以理解成一个依赖管理工具 它能解决以下问题 a) 你有一个项目依赖于若干个库. b) 其中一些库依赖于其他库. c) 你声明你所依赖的东西. d) Composer 会找出哪个版 ...
随机推荐
- Android APK安装过程学习笔记
1.什么是APK APK,即Android Package,Android安装包.不同平台的安装文件格式都不同,类似于Windows的安装包是二进制的exe格式,Mac的安装包是dmg格式.APK可以 ...
- 使用git clone命令克隆github项目到本地时出错,提示没有权限的解决方法
最近使用 git clone 命令在Github上克隆自己项目到本地时出错:提示没有权限,确认仓库是否存在,如下图红色框所示 问题:用过 git 的小伙伴都知道克隆项目的命令是—— git clone ...
- [Postman]历史(8)
邮递员将您发送的所有请求存储在左侧边栏的“历史记录”视图中.您可以使用历史记录快速尝试各种请求,而不必浪费时间从头开始构建请求.您还可以通过单击请求名称来加载先前的请求. 如果您创建了一个帐户并登录P ...
- LabVIEW(九):程序结构中的分支结构和顺序结构
一.分支结构 1.创建分支结构:程序框图右键>结构>条件结构 2.Ctrl + I 会显示错误列表,双击错误列表会定位到该错误在程序框图中地方. 3.有的分支可以不连接分支内容. 在不连接 ...
- 浅谈final关键字的用法
1.final变量: 常和static一起使用,修饰成员变量或者本地变量.修饰后为常量,不可以再次初始化(再次引用),例如public static final String SUCCESS= &qu ...
- Redis学习笔记之延时队列
目录 一.业务场景 二.Redis延时队列 一.业务场景 所谓延时队列就是延时的消息队列,下面说一下一些业务场景比较好理解 1.1 实践场景 订单支付失败,每隔一段时间提醒用户 用户并发量的情况,可以 ...
- cookie和session的个人理解
这是我学习后的个人理解 欢迎提点 如果说的不是很正确请纠正 COOKIE: 1.服务端给浏览器客户端返回一个编号(COOKIE值) 2.这个值存在浏览器中,接下来浏览器再次访问我的时候,会把这个值带 ...
- maven发布jar包到nexus
在编码过程中,有些通用的代码模块,有时候我们不想通过复制拷贝来粗暴地复用,因为这样不仅体现不了变化,也不利于统一管理.这里我们使用maven deploy的方式,将通用的模块打成jar包,发布到nex ...
- 转:centos7搭建jenkins小记
转自:https://segmentfault.com/a/1190000007086764 安装java环境 1.查看服务器版本 centos7,继续. cat /etc/redhat-releas ...
- [NewLife.XCode]数据层缓存(网站性能翻10倍)
NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netcore,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和 ...