红联Linux门户
Linux帮助

Centos下安装Simplescalar

发布时间:2013-11-28 22:21:57来源:红联作者:瀚哥就是要数猫
Centos下安装SimpleScalar过程

兄弟在学校被老师要求装SimpleScalar,可是只能在ubuntu下sudo,
百度,谷歌好久,都找不到方法。
我想在Centos下壮壮,很多错误。
不知道为什么就成功了。
可以借鉴一下。。。
各位渴望了解计算机系统的同学们。
可配套《深入理解计算机》一起弄

1. 从新浪文库收缩下载所要的4个的包 (我放在那里的,或者自己去下载,或者google,因为可能新浪文库会神经审核不成功)
1) simplesim-3v0d-with-cheetah.tar.gz
2) simpletools-2v0.tgz
3) gcc-2.7.2.3.ss.tar.gz
4)simpleutils-990811.tar.gz
2. 创建一个文件夹和按顺序解压
1) mkdir /home/jinhan(我的用户名)/SimpleScalar (创建一个文件夹, 名字任意当尽量不含有中文)
2) tar xzvf simplesim-3v0d-with-cheetah.tar.gz
3) tar xzvf simpletools-2v0.tgz
4) tar xzvf gcc-2.7.2.3.ss.tar.gz
5) tar xzvf simpleutils-990811.tar.gz
顺序决定成败
解压完成后一定有一下几个文件夹
f2c-1994.09.27
gcc-2.6.3
gcc-2.7.2.3
glibc-1.09
simplesim-3.0
simpleutils-990811
ssbig-na-sstrix
sslittle-na-sstrix
Readme.gcc-2.7.2.3
3.打开终端,su变成root用户
4.yum groupinstall "Development Tools" //最好有这一步,更新一下,没这一步会莫名其妙挂掉
5.导入信息
$ uname -a或lsb_release -a:查看内核版本和机器类型。
我的是[root@localhost simplescalar]# uname -a
Linux localhost.localdomain 2.6.32-358.el6.i686 #1 SMP Thu Feb 21 21:50:49 UTC 2013 i686 i686 i386 GNU/Linux

[root@localhost simplescalar]# lsb_release -a
LSB Version: :base-4.0-ia32:base-4.0-noarch:core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.4 (Final)
Release: 6.4
Codename: Final


根据结果设定如下:(用Tab补全文件名)
export IDIR=/home/用户名(jin)/SimpleScalar
export HOST=i686-pc-linux或i386-pc-linux(我的机器是64位,我还是选i686)
export TARGET=sslittle-na-sstrix

6.安装simpleutils
cd simpleutils-990811
vim simpleutils-990811/ld/ldlex.l
按ESC :?yy_cu
找到 yy_current_buffer 改成YY_CURRENT_BUFFER
配置和编译:
./configure --host=$HOST --target=$TARGET --with-gnu-as --with-gnu-ld --prefix=$IDIR
make CFLAGS=-O
make install

7.安装模拟器
cd simplesim-3.0
make config-pisa
make
测试:
./sim-safe tests/bin.little/test-math
成功有一大堆东西出来

8.很顺利,可是接下来很麻烦
安装GCC交叉编译器
cd gcc-2.7.2.3
./configure --host=$HOST --target=$TARGET --with-gnu-as --with-gnu-ld --prefix=$IDIR
chmod -R +w . //给整个目录加写权限,不要忘了一个点
修改三个文件(按ESC然后冒号数字是找到相应的行)
vim Makefile //可以用Tab键补全,很快
ESC :130 行末加上 -I/usr/include
vim protoize.c
ESC :60 将varargs.h替换为stdarg.h
vim obstack.h
ESC :341
*((void **)__o->next_free)++=((void *)datum)改成
*((void **)__o->next_free++)=((void *)datum)

然后复制三个东西来来去去(一个点是当前目录,两个点是前一个目录)
cp ./patched/sys/cdefs.h ../sslittle-na-sstrix/include/sys/cdefs.h
cp ../sslittle-na-sstrix/lib/libc.a ../lib/
cp ../sslittle-na-sstrix/lib/crt0.o ../lib/

然后
make LANGUAGE=c CFLAGS=-O CC="gcc -m32"
会有错误
vim insn-output.c
ESC :675 行尾加\
ESC :750 行尾加\
ESC :823 行尾加\

然后
make LANGUAGE=c CFLAGS=-O CC="gcc -m32"
会有错误

vim cxxmain.c
ESC:2978 前面加//注释掉
ESC:2979 前面加//注释掉

然后
make LANGUAGE=c CFLAGS=-O CC="gcc -m32"
make enquire
../simplesim-3.0/sim-safe ./enquire -f > float.h-cross (请用Tab补全键)


然后
make LANGUAGE=c CFLAGS=-O CC="gcc -m32" install

结束!!!!!
测试:
新建一个jinhan.c文件(不要告诉我,你不知道怎么写)
然后
./bin/sslittle-na-sstrix-gcc -o jinhan jinhan.c (bin在SimpleScalar目录下,里面有很多工具!!)
然后
./simplesim-3.0/sim-safe jinhan (模拟器simplesim-3.0里有许多工具,sim-cache fast什么的)

注意:最好以root的身份进去,Centos可以先更新一下系统,然后遇到权限问题,你可以chmod -R 777 Simplescalar解决或者???,不懂可以留言
如果系统是ubuntu的话有脚本
可以去收,全自动
文章评论

共有 6 条评论

  1. dlchengzi 于 2014-05-06 17:41:23发表:

    楼主很厉害!

  2. jake712 于 2014-04-01 01:44:55发表:

    thx a lot

  3. chushihua 于 2014-01-12 20:13:30发表:

    我想好好的学习

  4. herb734044860 于 2013-12-25 02:11:25发表:

    :0)1

  5. Growth兆 于 2013-11-30 17:38:15发表:

    感谢瀚哥就是要数猫的分享,本贴加入顶置的技术教程贴中

  6. aolaio 于 2013-11-29 08:21:34发表:

    学习学习