SimpleScalar的安装方法(Red Hat Linux 9.0,gcc3.2.2环境)

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处
、作者信息和本声明。否则将追究法律责任。
http://sprocessor.blog.51cto.com/160089/27034
SimpleScalar的安装方法
Wisconsin.Madison大学发布的SimpleScalar模拟器是一个开放软件,源代码是公开的,具有良好的可移植性和可扩展性,能够支持各种不同层次设计人员的需求,因而得到了广泛的应用。是开发微处理器芯片前期进行体系结构验证的重要工具,下面介绍其在Red Hat Linux 9.0编译器给gcc 3.2.2环境下的安装方法。
一.确定安装环境
本安装方法适用于Red Hat Linux 9.0操作系统,自带的GCC编译器是GCC 3.2.2版本。其他系列的linux操作系统或是其他版本GCC下安装过程可能有些细节上的不同。
注:因为不同版本的GCC编译器下一些库的定义可能有不同,因此首先要确定一下本机的GCC编译器版本。确定方法是进入命令行输入命令gcc –v得到的结果如图1.1所示:


图1.1
可见本机的GCC版本为GCC 3.2.2,根据simplescalar网站上的一些介绍,该模拟器的开发工具可能是GCC2.7左右,比较接近GCC 3.2.2,因此估计安装过程会比较顺利。
二.获得安装包
完成本安装过程的安装包可以在

http://www.simplescalar.com
下下载,本安装所需要的安装包共有以下三个

三 建立安装目录,解压安装包
建立安装目录为/root/simplescalar,将安装包复制到安装目录,整个过程如下:

解压缩,命令为tar –zxvf,加压缩完毕后用rm*.tgz命令删除压缩包,整个过程输入命令如下:
tar –zxvf simplesim-3v0d.tgz
tar –zxvf simpletools-2v0.tgz
tar –zxvf simpleutils-2v0.tgz
rm*.tgz
加压缩后得到如下七个文件夹:

四.安装binutils2.5.2
首先用configure命令配置程序的安装环境和参数,生成Makefile文件,整个过程如下:

注:configure命令的参数含义说明
-host:配置安装环境
-target:配置成littleEndian模式
-with-gnu-as 加载汇编器
-with-gnu-ld 加载链接器
-prefix 设置安装目录
此时遇到两个错误,如下所示:
  

从错误说明可以估计出错误来自于libiberty文件夹下的dummy.c文件。网上一些帖子说是dummy.c中定义的宏functions.def文件中的函数定义与声明不一致引起的,将它们改成一致就可以通过编译。但是这样做的话,继续编译依然会遇到许多错误。这里我试出了最好的方法就是将dummy.c文件中的内容全部删除(即将dummy.c变成空文件)然后再make一次,这回不报任何错误,编译一次通过!
运行make install命令,这时binutils-2.5.2安装成功!
五.安装simplescalar
Simplescalar是最简单的一个安装过程,运行下列命令即可完成安装!


六.安装gcc-2.6.3
安装好simplescalar后在安装文件夹/root/simplescalar下可以找到一个名为bin的文件夹,里面包含的是一些simplescalar自带的工具,如链接工具等,该文件内容如下:


可见,里面没有C编译工具gcc,因此还需要安装gcc2.6.3作为simplescalar的内置编译工具,下面介绍安装方法。
首先对安装环境进行配置,生成Makefile文件,具体方法如下图所示。


Makefile文件生成完毕后,运行make命令,此时出现以下错误:


由错误报告可知,这是由于sys_errlist的定义不一致造成的,打开cccp.c文件发现其194行附近有如下代码,第194行为extern char *sys_errlist[]。显然要消除冲突,只需改变宏编译的分支方向,使其不走这一分支即可。尝试在这段代码前面如175行加上#define bsd4_4,修改后再次make,该错误改正,遇到下一个错误。
  

第二个错误是sdbout.c文件中的一些常量没有定义,如下:

因此第一估计是头文件的问题,打开sdbout.c发现其包含的头文件有如下几个:

可以肯定报错的原因是宏编译的分支的问题(走不同的宏编译分支,可能包含syms.h或者是gsyms.h)。经过多次尝试,发现在前面加上#undef  USG即可解决该错误(即把gsyms.h包含进去)。
继续make,发生第三个错误,如下:


这个错误和第一个错误一样,是由于sys_errlist定义冲突引起的,因此进入gcc.c文件,在172行之前(这里加在167行)加上#define bsd4_4即可。
继续make,发生第四个错误,如下:


和前面一样,只要在g++.c文件的第90行代码段之前(这里加在85行)加上#define bsd4_4即可。
继续make,发生第五个错误,如下:


这里提示是将cp/g++.c文件中第213行的sys_errlist改成strerror或者strerror_r,然而改过之后会报strerror未定义的错误,上网搜了很久也没发现有这两个定义的头文件名,最后根据函数名感觉这段代码(pfatal_with_name)的功能可能是获得错误名,将其删除估计对工作影响不大,因此干脆将这个函数放空,放空后再运行make,果然OK,不报任何错误,编译通过!
运行make install,gcc 2.6.3安装成功!
返回simplescalar,进入bin文件夹,可以发现里面多了一个sslittle-na-sstrix-gcc文件,该文件是simplescalar的内建C编译器,如下所示:


进一步运行./sslittle-na-sstrix-gcc –v测试出该内建编译器版本为gcc 2.6.3。


到此为止,整个安装过程结束,下面进行测试。
七.测试
为了测试simplescalar是否能够顺利运行,我们对其进行测试,测试程序依然采用最经典的hello world!程序,程序如下:
    #include
main()
{
printf("Hello World!\n");
return 0;
}
编辑好程序后将其保存在/root/simplescalar文件夹下,文件名为hello.c,用刚刚安装的simplescalar内建编译器编译,编译方法如下。


    运行结果如下:


八 结束语
本安装方法适用于Red Hat Linux 9.0操作系统,自带的GCC编译器是GCC 3.2.2版本。其他系列的linux操作系统或是其他版本GCC下安装过程可能有些细节上的不同,主要原因可能是高版本的GCC没有兼容低版本的一些库文件,还有就是遵循的C标准可能会有点出入。如果机器上的GCC正好是低版本的,估计可能一次编译通过!

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31/showart_600092.html

SimpleScalar的安装方法(Red Hat Linux 9.0,gcc3.2.2环境)相关推荐

  1. 超过4G的分区安装oracle,Red hat Linux AS4.0安装Oracle9.2.04详细步骤

    官方论坛http://www.oracle.com.cn     tzzxcb 下面以 $ 开头的命令都是由oracle执行的 # 开头的命令都是由root执行的 一. 安装准备 ,可在接下来解决. ...

  2. RED HAT LINUX 9.0的安装文本模式(2)

    boot: Chinese(Simplified) 接下来是RED HAT LINUX 9.0文本模式的安装,其实图形界面和文本界面的安装过程是一样的,不一样是模式不同. 本文转自 chen138 5 ...

  3. 安装linux系统出来7只小企鹅,在Red Hat Linux 9.0下安装小企鹅中文输入法

    小企鹅中文输入法(Free Chinese Input Toy for X,fcitx)是一个以GPL方式发布的.基于XIM的简体输入法(其前身为g五笔),包括五笔.拼音.区位输入法,是在Linux ...

  4. Red Hat Linux 9.0软件功能

    Red Hat Linux 9.0软件功能 一:桌面 1:X窗口系统 基本软件包 1.XFree86-用于X工作站的基本字体.程序和文档 2.XFree86-100dpi-fonts-用于X窗口系统的 ...

  5. red hat linux 9下载地址,Red Hat Linux 9.0 ISO下载 (转)

    一.Red Hat Linux 9.0 iso下载 1.安装盘下载地址:(http://www.mirror.ac.uk/sites/ftp.RedHat.com/pub/redhat/linux/9 ...

  6. red hat linux 9.0下载地址集合,Red Hat Linux 9.0 iso最新下载地址

    Red Hat Linux 9.0 iso最新下载地址(注:用迅雷或Flashget同时下载三个iso,总的速度能够达到100k左右) 一.Red Hat Linux 9.0 iso下载 1.安装盘下 ...

  7. 红帽linux9.0+iso下载,Red Hat Linux 9.0 iso最新下载地址

    Red Hat Linux 9.0 iso最新下载地址(注:用迅雷或Flashget同时下载三个iso,总的速度能够达到100k左右) 一.Red Hat Linux 9.0 iso下载 1.安装盘下 ...

  8. 【官方文档】Fluentd 通过 RPM 包安装在 Red Hat Linux

    文章目录 1. td-agent 是什么? 2. calyptia-fluentd 是什么? 3. 用于安装 td-agent 3.1. 步骤 0:安装前 3.2. 步骤 1:从 rpm Reposi ...

  9. Red Hat Linux 9.0 镜像iso下载

    Red Hat Linux 9 iso下载 务必 使用 迅雷 或 Flashget 1.Red Hat Linux 9 iso下载 安装盘下载地址: http://www.mirror.ac.uk/s ...

最新文章

  1. ASP.NET页面缓存介绍
  2. 荧光皮肤有哪些_价格适中又显白的口红有哪些?MAC占大头,KIKO卡拉泡泡超平价...
  3. 【数据结构与算法】之深入解析“石子游戏VIII”的求解思路与算法示例
  4. ruby,rails环境架设配置 转载一文章.
  5. python 局部变量 占内存吗_Python中全局变量和局部变量的理解与区别
  6. matlab怎么提取特征,matlab – 了解提取特征的编码
  7. HTML基础知识(未完待续)
  8. Python面试总结(四)ip正则与三次握手四次挥手
  9. python的变量名有哪些_Python 趣闻:如何获得变量的名字?
  10. 小程序textarea的行间距_微信小程序组件:textarea多行输入框解读和分析
  11. mysql查找配置文件的顺序
  12. Oracle 客户端安装 + pl/sql工具安装配置
  13. 电脑重装系统超详细完整教程图解
  14. scratch 游戏html5,scratch3转换为html5
  15. 塔望3W消费战略全案丨阳澄湖牌大闸蟹:承诺就是价值,打响官方第一枪
  16. Android 安卓ADB命令远程调试 单个或多个设备调试
  17. 图注意力网络(GAT)
  18. java通过framer生成word_DSO Framer Control Object 操作word文件
  19. navicat中导出数据表结构为word格式
  20. 云队友丨张一鸣重在思考

热门文章

  1. docker入门实践,安装指定版本的mysql镜像
  2. 超低功耗Lattice SensAI引领网络边缘人工智能设备迈向大众市场
  3. ffmpeg 查询设备_ffmpeg 命令
  4. 教您解决无法在MathType中输入空格的难题
  5. 关于淘宝网性能测试的思考 [ 光影人像 东海陈光剑 的博客 ]
  6. Linux系统中curl命令用法详解
  7. MapReduce编程概述
  8. 全球主要电源芯片企业(TOP 60)
  9. 微软ERP Axapta 开发环境编辑器的快捷键大全
  10. 微软ERP——Dynamics AX 4.0_安装篇