本文是基于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 图片高级绘图效果---高斯模糊

    高斯模糊就是将指定像素变换为其与周边像素加权平均后的值,权重就是高斯分布函数计算出来的值.高斯模糊能够将图片制作成类似磨砂的图片效果,一般这些图片都用来作为背景. 目前使用到的是RenderScrip ...

  2. 10. 面向holder编程、自动轮询

    没有看过上一篇文章的话,建议先去阅读GooglePlay:9.代码抽取(adapter) 项目框架的搭建: 以后每个view都是holder BaseHolder public abstract cl ...

  3. 细说MySQL表操作

    目录 语法 查看表结构 查看所有的表 删除表 查看创建表的语句 修改表的字符集和校验规则 修改表名 在表中添加新字段 修改表的字段名 修改表中字段的属性 删除表中的某个字段 设置某个字段为主键 把某个 ...

  4. Ubuntu16.04.1 安装Nginx

    Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev ...

  5. Merge branch 'master' of xxx error

    Merge branch 'master' of xxx Please enter a commit message to explain why this merge is necessary,es ...

  6. VueJs(11)---vue-router(命名路由,命名视图,重定向别名,路由组件传参)

    vue-router 上篇文章讲了第一篇vue-router相关文章,文章地址:VueJs(10)---vue-router(进阶1) 一.命名路由 有时候,通过一个名称来标识一个路由显得更方便一些, ...

  7. java提高(7)---TreeSet--排序

    TreeSet(一) 一.TreeSet定义:      与HashSet是基于HashMap实现一样,TreeSet同样是基于TreeMap实现的.            1)TreeSet类概述 ...

  8. Docker学习之3——容器

    容器(Container) 容器介绍: docker是通过容器来运行业务的,就像运行一个kvm虚拟机是一样的.容器其实就是从镜像创建的一个实例. 我们可以对容器进行增删改查,容器之间也是相互隔离的.和 ...

  9. Spring 依赖注入方式详解(四)

    IoC 简介 平常的Java开发中,程序员在某个类中需要依赖其它类的方法. 通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理. Spring提出了依赖注入的思想 ...

  10. Java IO API记录

    文件路径: public static final String FILEPATH= File.separator+"Users"+ File.separator+"xu ...