Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

SESC模拟器的安装方法

$
0
0

一 安装环境

系统版本ubuntu-10.10 (建议不要用10.10以上的版本,我用12.10出现了大量的问题) 

安装镜像是  ubuntu-10.10-beta-desktop-i386.iso

硬件 HP-Z800 以及VM虚拟机环境都测试成功

需要连网环境以及软件源。(湖南大学校园网锐捷登陆方法见附录A

ubuntu-10.10 软件源的设置:

http://blog.csdn.net/a8887396/article/details/8753535

二  gcc安装

由于sesc当初是使用gcc3.4.x编译,所以使用相同的编译器不容易出问题。

安装文件见gcc3.4.6目录

cpp-3.4_3.4.6-6ubuntu5_i386.deb  gcc-3.4-base_3.4.6-6ubuntu5_i386.deb

gcc-3.4_3.4.6-6ubuntu5_i386.deb

cd gcc3.4.6

sudo chmod 777 * 

sudo dpkg -i *

sudo ln -sf /usr/bin/gcc-3.4  /usr/bin/gcc

gcc -v 显示版本 gcc version 3.4.6 (Ubuntu 3.4.6-6ubuntu5)

三 安装sescutils

sescutils 是编译sesc能运行的程序的编译器。

修改sh软链接为bash

sudo ln -sf /bin/bash /bin/sh

ls -l /bin/sh 显示 /bin/sh -> /bin/bash 表示修改成功

安装前置软件(若你是和我一样是在新的系统中安装,这些你可能都要安装)

bison2.0和 flex (新版本的bison不行,若已有,删除,安装bison2.0

bison的前置软件需要m4

sudo apt-get install m4

bison2.0的下载地址 http://ftp.gnu.org/gnu/bison/ 也可以用我下载好的

安装bison2.0

sudo tar zxvf  bison-2.0.tar.gz

cd bison-2.0

sudo ./configure

sudo make

sudo make install

sudo apt-get install flex

安装 libncurses5-dev

若不安装,编译build-5-gdb时会提示 configure: error: no termcap library found

sudo apt-get install libncurses5-dev

要修改的地方

将 sescutils.tar.bz2 拷贝到$HOME目录下 (也就是 cd ~ 进入的目录)

tar -jxvf sescutils.tar.bz2 

cd sescutils

cd build-mipseb-linux/

vim build-common 

修改build-common中的三个参数为

GNUSRC=$HOME/sescutils/src

PREFIX=$HOME/sescutils/install

BUILD="i686-pc-linux-gnu"

编译步骤

 sudo ./build-1-binutils 

 sudo ./build-2-gcc-core 

 sudo ./build-3-glibc 

 sudo ./build-4-gcc 

 sudo ./build-5-gdb 

安装完成

四 安装SESC

下载方式 

使用我修改过的包也可以,反正sesc已经从09年开始就没更新过了。

下面是在线下载的方法

安装 CVS

sudo apt-get install cvs

下载CVS

$cvs -d:pserver:anonymous@sesc.cvs.sourceforge.net:/cvsroot/sesc login

Note:需要输入密码 直接按回车

$cvs -z3 -d:pserver:anonymous@sesc.cvs.sourceforge.net:/cvsroot/sesc co -P sesc

安装需要的相关程序

sudo apt-get install binutils

sudo apt-get install zlib1g-dev

sudo apt-get install g++

这里我自动安装的是g++-4.3版本的 不知为何我找不到下面两个安装文件了

g++-3.4_3.4.6-1ubuntu2_i386

libstdc++6-dev_3.4.6-1ubuntu2_i386 

据说是在 http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-3.4/ 下载的

但是我用g++-4.3来编译sesc 没有报奇怪的问题 发现问题再换吧。

解压sesc

home目录下解压sesc.tar.gz

sudo tar zxvf sesc.tar.gz 

生成一个sesc文件夹 其源码需要做些修改 如下: (我给的文件已经该过里)

sesc/src/libcore/FetchEngine.cpp 中 加上 #include <limits.h>

sesc/src/libmint/subst.cpp 中 include <linux/dirent.h>, 改为include<dirent.h> 

home下创建一个空文件夹 sesc-build 用来存放编译结果。

sudo mkdir sesc-build

cd sesc-build

../sesc/configure

sudo make

在报如下类似错误的文件中加上 #include <stdint.h>

ERRORuint32_t’ was not declared in this scope

在报如下类似错误的文件中加上 #include <limits.h>

ERROR: USHRT_CHAR undefined

测试是否安装成功

make testsim

五 第一个程序

修改路径参数

创建文件

vim setupsesc

写入如下内容

set +h

export PATH=$HOME/sescutils/install/bin:$HOME/sesc-build:$PATH

echo "setup finished"

注意PATH,如果你完全按照我的来,那可以照样写,若你把sescutilssesc-build放在了别的目录,那仿照这个来

保存退出 再 source setupsesc

成功的标志是你可以在shell 中使用 mipseb-linux-gcc

第一个sesc程序

vim hellosesc.c

#include <stdio.h>

int main()

{

        printf("hello world\n");

}

编译方法 如果不加这些选项 会报错

mipseb-linux-gcc -mips2 -mabi=32 -static -Wa,-non_shared -mno-abicalls -Wl,--script=/home/hnu/sescutils/src/mint.x,-static hellosec.c -o hello

如能编译 则编译成功

这是我从make testsim从看过来的命令 你可以把sesc/confs中你要用到的conf文件 拷贝到当前文件夹中以便使用

这个xx.conf是根据你的sesc模拟器编译时选项的不同 不同的 shared.conf也是一定需要的固定文件

cp /home/hnu/sesc-build/../sesc/confs/mem.conf sesc.conf

cp /home/hnu/sesc-build/../sesc/confs/shared.conf .

运行程序

./sesc.mem -h0x800000 -csesc.conf hello

static[0x45bc90-0x10000c8c] heap[0x10002000-0x10802000] stack[0x10802000-0x10ffa000] -> [0xa6000000-0xb6b9e370]

hello world

sesc.conf 是运行时的配置 和前面的-c中间没有空格 若没有指定 则指定当前文件夹下的sesc.conf

若两者都没有 则运行错误

hello是之前编译的可执行文件

若有输入数据 写在文件中tt.in 

./sesc.mem -h0x800000 -csesc.conf hello << tt.in

3获得可视化报告

 ../sesc/scripts/report.pl sesc_hello.cRj18s 

附录湖南大学锐捷登陆方法:

cd myxrgsu

将lib中的文件拷贝到 /usr/lib中:

cd lib 

sudo cp * /usr/lib

将myxrgsu拷贝到/usr/bin

cp myxrgsu /usr/bin

IP设置为同一网段IP,网段IP参考同一局域网内其他人的IP

sudo ipconfig eth0 xxx.xxx.xxx.xxx up

设置网关 网关也看同一内网的人的网关

设置网关 sudo route add default gw  xxx.xxx.xxx.xxx

运行程序

sudo myxrgsu

前两个是输入登陆锐捷的用户名和密码

DHCP 选择 使用DHCP

其他都默认0

作者:a8887396 发表于2013-4-12 17:13:39 原文链接
阅读:29 评论:0 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>