Flashsim是装在Disksim下的,所以要安装Flashsim,先要装Disksim,而Disksim需要低版本的gcc(如gcc2.4)才能编译成功。
1.安装ununtu
版本选择ununtu10.04和ubuntu10.10都可以,我自己的电脑装的是10.10,实验室装的是10.04,都成功了。有人说有些版本不行。
2.安装gcc
ubuntu10.04默认安装的是gcc-4.*,所以要重新安装低版本的,我们这里安装gcc-2.95,选择下载包安装。
给个链接:http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-2.95/
将下列5个文件依次下载:
cpp-2.95_2.95.4-24_i386.deb;
gcc-2.95_2.95.4-24_i386.deb;
g++-2.95_2.95.4-24_i386.deb;
libstdc++2.10-glibc2.2_2.95.4-24_i386.deb ;
libstdc++2.10-dev_2.95.4-24_i386.deb
在存放上述文件的文件夹中按照上面所下载的顺序一次安装,安装的命令是
sudo dpkg --force-depends -i xxx.deb
然后更改系统中gcc的软链接:
sudo ln -fs /usr/bin/gcc-2.95 /usr/bin/gcc
查看gcc版本:
gcc –v
如果版本是gcc 2.95 安装成功。
3.bison & flex-old安装方法
安装bison
sudo apt-get install bison
安装 flex-old
sudo apt-get install flex-old
bison和flex-old是词法分析程序自动构造工具
安装过程中可能会出现安装包不存在的错误,这是我们要更新系统的源,源存放在/etc/apt/sources.list文件中,
在网上找一些可用的源添加到该文件中,然后更新,命令为:
sudo apt-get update
然后再安装。
4.编译disksim源程序
Disksim3.0下载地址: http://www.pdl.cmu.edu/DiskSim/disksim3.0.shtml
解压后名为disksim-3.0 、进入disksim-3.0文件夹 、 然后运行makefile 文件
如没有提示编译错误,则可以进入/disksim-3.0/valid目录下,运行runvalid文件。若能准确运行,说明disksim-3.0的编译是正确的
5.编译flashsim源程序
Flashsim simulation就是在disksim中的src文件中添加关于flash仿真部分,所以就是对disksim-3.0/src进行改动,然后编译disksim
Flashsim下载地址:http://csl.cse.psu.edu/?q=node/322
依次下载 Src.release.tar.gz 解压后放到disksim-3.0文件下,并命名为src替换原来的src文件夹
将网页上的patch文件拷贝到src文件夹中(命名为flashsim-2010324.patch),并在当前文件夹路径下执行命令
sudo apt-get install patch patch -p1 -i flashsim-2010324.patch
此过程为对src文件的打补丁操作,注意不要随意改动(src文件夹下的代码文件)
patch通过之后,退回到disksim-3.0目录下,再次编译
如果你的flashsim安装过程中,patch时出错,可根据提示信息手动修改。
我在ubuntu 10.10下提示的错误如下:
文件dftl.c, disksim_logorg.c, fast.c, flash.c , pagemap.c 打补丁成功,syssim_driver.c打补丁失败,这时我们要手工打补丁
根据flashsim-2010324.patch内容手工给syssim_driver.c打补丁即可。
然后make disksim-3.0
6.验证
下载Script files and I/O trace file 验证,给个链接:http://csl.cse.psu.edu/?q=node/322
若说明安装,则输出结果如下: