本文是基于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. Android P正式版即将到来:后台应用保活、消息推送的真正噩梦

    1.前言 对于广大Android开发者来说,Android O(即Android 8.0)还没玩热,Andriod P(即Andriod 9.0)又要来了.   下图上谷歌官方公布的Android P ...

  2. 吴恩达机器学习笔记18-多类别分类:一对多(Multiclass Classification_ One-vs-all)

    对于之前的一个,二元分类问题,我们的数据看起来可能是像这样: 对于一个多类分类问题,我们的数据集或许看起来像这样: 我用3 种不同的符号来代表3 个类别,问题就是给出3 个类型的数据集,我们如何得到一 ...

  3. Java之JDK7的新语法探索

    Java之JDK7的新语法探索 前言 感谢! 承蒙关照~ 字面量: 各种精致的表达方式: 八进制以0开头,十六进制0X开头,二进制以0B开头. 二进制运算时,应该写成这样才直观: &15 -& ...

  4. JavaScript 高性能数组去重

    中午和同事吃饭,席间讨论到数组去重这一问题 我立刻就分享了我常用的一个去重方法,随即被老大指出这个方法效率不高 回家后我自己测试了一下,发现那个方法确实很慢 于是就有了这一次的高性能数组去重研究 一. ...

  5. CSS Modules 与 scoped 的不一样

    What ? css 的作用域表现. Css modules 是一个CSS文件,其中所有类名和动画名称默认为局部作用域. 使用JS编译原生的CSS文件,使其具备模块化的能力,该文件需要import使用 ...

  6. 使用JDOM解析xml文档

    一.使用JDOOM解析xml文档 准备工作 1.下载JDOM.jar 包 解析代码如下 import org.jdom2.Attribute; import org.jdom2.Document; i ...

  7. 微信公众平台开发——为何不能在网页调用微信jsapi?

    说到这问题,相信大部分程序员老手都会轻蔑一笑,当然是跨域导致的啊!但是为了一些小白,我觉得还是很有必要再说一次的. 首先介绍什么是跨域,由于浏览器的同源策略,出于防范跨站脚本的攻击,禁止客户端脚本( ...

  8. 运维笔记--ubuntu管理启动项

    启动项 https://blog.csdn.net/sz457763638/article/details/78182700

  9. Servlet & JSP系列文章总结

    前言 谢谢大家的捧场,真心感谢我的阅读者. @all 下一期,重点在  数据结构和算法  ,希望给大家带来开心.已经出了几篇,大家爱读就是我的开心. Servlet & JSP系列总结 博客, ...

  10. 函数式编程之-Currying

    这个系列涉及到了F#这门语言,也许有的人觉得这样的语言遥不可及,的确我几乎花了2-3年的时间去了解他:也许有人觉得学习这样的冷门语言没有必要,我也赞同,那么我为什么要花时间去学习呢?作为一门在Tiob ...