本文是基于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的安装和运行文档的更多相关文章

  1. XVFB实现selenium在linux上无界面运行安装篇

    selenium在linux上无界面运行,其实是非常简单的.具体的方法有使用HtmlUnitDriver或者PhantomJSDriver,有时间我会写写关于这两个东东的文章,其实基本和ChromeD ...

  2. linux上源码编译安装mysql-5.6.28

    在 linux 上编译安装 mysql-.tar.gz http://www.mysql.com/ mysql下载地址: http://www.mysql.com/downloads/mysql/#d ...

  3. linux上hadoop2.4.0安装配置

    1 环境准备 安装java-1.6(jdk) 安装ssh 1.1 安装jdk (1)下载安装jdk 在/usr/lib下创建java文件夹,输入命令: cd /usr/lib mkdir java 输 ...

  4. linux上war包方式安装Jenkins

    我的安装环境:jdk1.8, linux系统为: [root@ipha-dev71-1 nmon]# cat /etc/redhat-release # Linux查看版本当前操作系统发行版信息 Ce ...

  5. Linux上zookeeper+dubbo-admin的安装及使用

    空linux安装,需要先安装JDK,mysql,tomcat等 一. dubbo-admin依赖外置tomcat. tomcat依赖JDK. 首先要安装JDK,tomcat,顺便安装mysql 安装J ...

  6. Linux上运行安卓应用:安装使用Anbox

    文章目录 #0x0 简介 #0x1 安装教程 #0x11 第一步,安装需要的内核模块 #0x12 安装Anbox #0x2 使用Anbox #0x21 一些简单的设置 #0x22 安装APK #0x3 ...

  7. 阿里云部署Java web项目初体验(转)/linux 上配置jdk和安装tomcat

    摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在阿里云上部署Java web项目. 一.准备工作 购买了阿里云的云解析,和云服务器ecs. 2.下载put ...

  8. 在linux上cuda9.0 cudnn7.* 安装python3.6 tensorflow 1.5.1

    链接:https://www.jianshu.com/p/bcf37d0e4e9b 为了入门机器学习的小伙伴能安装好工具,特制作此教程 按照 Anaconda 下载网站上的说明下载并安装 Anacon ...

  9. 在linux上如何通过composer安装yii

      Composer可以理解成一个依赖管理工具 它能解决以下问题 a) 你有一个项目依赖于若干个库. b) 其中一些库依赖于其他库. c) 你声明你所依赖的东西. d) Composer 会找出哪个版 ...

随机推荐

  1. 使用《JAVA面向对象编程》总结

    抽象和封装 现实世界是“面向对象”的,面向对象就是采用“现实模拟” 的方法设计和开发程序. 面向对象设计是目前计算软件开发中最流行的技术.面向对象设计的过程就是抽象的过程. 类是对某一类事物的描述,是 ...

  2. 如何解决git====push 过程中出现的。error: failed to push some refs

    当我们在利用git  push 文件到仓库时出现了一下问题: ! [rejected] master -> master (fetch first)error: failed to push s ...

  3. web前端异步数据交互(长连接)

    Workers异步任务 开始(注册): divobjx=document.getElementsByTagName("div")[0]; var workdong=new Work ...

  4. Go语言之Interface(二)

    使用指针接收器和值接收器实现接口 type Describer interface { Describe() } type Person struct { name string age int } ...

  5. java提高(6)---Serializable

    Serializable--初解 一 序列化是干什么的? 我们知道,在jvm中引用数据类型存在于栈中,而new创建出的对象存在于堆中.如果电脑断电那么存在于内存中的对象就会丢失.那么有没有方法将对象保 ...

  6. .Net 环境下比较各种数据库插入操作的性能

    1.简介 再说Windows的异步I/O操作前,先聊聊一些题外话,能帮助我们更好的理解异步I/O操作,常规的Web程序,当用户发起一次请求,当请求通过管道到达客户端的这个过程,会唤起一个线程池线程(后 ...

  7. python scrapy 爬取西刺代理ip(一基础篇)(ubuntu环境下) -赖大大

    第一步:环境搭建 1.python2 或 python3 2.用pip安装下载scrapy框架 具体就自行百度了,主要内容不是在这. 第二步:创建scrapy(简单介绍) 1.Creating a p ...

  8. java发送http get请求的两种方式

    长话短说,废话不说 一.第一种方式,通过HttpClient方式,代码如下: public static String httpGet(String url, String charset) thro ...

  9. zabbix-proxy使用配置

    简介 zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix pr ...

  10. Go语言远程执行ssh命令简单封装(支持带交互命令)

    使用包:golang.org/x/crypto/ssh 以下封装一个发送命令的Cli结构体 type Cli struct { IP string //IP地址 Username string //用 ...