便捷安装参考:https://blog.csdn.net/u012822903/article/details/62216669
sudo apt install mercurial scons swig gcc m4 python python-dev libgoogle-perftools-dev g++ libprotobuf-dev
可能还要安装编译环境(我没用上下面的):
sudo apt-get install build-essential
2.下载gem5源码
3.编译gem5的ARM架构
scons build/ARM/gem5.opt
4.运行helloworld测试
build/ARM/gem5.opt configs/example/se.py -c tests/test-progs/hello/bin/arm/linux/hello
运行打印出hello world即成功。
以下是旧的安装方法:
gem5的安装测试终于通过了,先将方法分享如下:
主要参考:http://hi.baidu.com/dropcrab/item/25edaadf19cea7e6b3f77798
gem5的官网的http://www.m5sim.org/Main_Page
一、准备阶段
安装gem5需要的环境有:gem5-stable,SCons,SWIG,zlib,m4
g++: 使用g++ 4.5版本,不要使用4.6,否则会出现编译无法通过!!(必要的环境)
python:版本2.4或更高[一般系统自带](必要环境)
以上软件包来源及版本:
1、gem5
到http://www.m5sim.org/Download下载stable版本源代码包。下载是个tar.bz2文件,解压用tar -xjf命令
2、SCons(注意是scons-local版本。没研究过为什么用这个,直接参考他人教程使用的)
http://sourceforge.net/projects/scons/files/ (也可直接百度下载这文件)
这里我使用的是scons-local-2.2.0
3、SWIG
版本1.3.34。注意:不要太高的版本,否则需要Perl支持。
http://www.swig.org/
4、zlib:最近的版本
http://www.zlib.net/
这里我使用的是zlib-1.2.7
5、m4:宏处理器。
http://www.gnu.org/software/m4/
这里我使用的是m4-1.4.16
备注:以上软件可以直接百度下载
二、安装阶段
假设将这些下载的文件放在用户主目录 gem5 下面。
编译gem5之前必须先安装这些必要的文件包。每个包里都有一个install文件说明了安装了方法,安装过程如下:
1、解压gem5源文件:
tar -xjf gem5-stable-1.tar.bz2
假设将gem5解压后的文件夹重命名为:gem5-stable
2、安装zlib:
解压下载的压缩包:
tar -xzvf zlib-1.2.7.tar.gz
进入解压之后的文件夹 zlib-1.2.7
cd zlib-1.2.7
执行命令:
./configure
sudo make install
3、安装SWIG:(注意版本!)
解压下载的压缩包:
tar -xzvf swig-1.3.34.tar.gz
进入解压后的文件夹:
cd swig-1.3.34
执行命令:
./configure
make
sudo make install
4、安装M4:
解压下载的压缩包:
tar -xzvf m4-latest.tar.gz
进入解压之后的文件夹 m4-1.4.16
cd m4-1.4.16
执行命令:
./configure
make
sudo make install
5、安装scons:
Scons的安装很简单,只需要将scons-local-2.2.0.tar.gz解压
tar -xzvf scons-local-2.2.0.tar.gz
将解压后的文件全部拷贝到gem5-stable中,得到结果如下图:
说明:其实将scons拷贝到gem5-stable中后,并没有build,parser.out,parsetab.py等文件,需要编译gem5后才有
6、编译:
进入gem5-stable文件夹:
cd gem5-stable
执行:
python scons.py build/想要编译的体系结构/m5.
指定编译的选项,及目标文件,例如:
python scons.py build/ARM/gem5.opt (编译大概需要20分钟左右,执行完后才有上图中的所有内容)
7、额外说明
感觉python scons.py就相当于上面的scons,安装python后,.py文件可以直接执行)
另外,这里的ALPHA应该是ARM,下面都说是ARM)
gem5支持的平台有alpha/arm/mips/power/sparc/x86/,build/ALPHA不光说明输出目录,还指定了目标平台)
使用python scons.py build/ALPHA/m5.opt编译出来的,在后面的测试中
build/ARM/m5.opt configs/example/se.py -c tests/test-progs/hello/bin/alpha/linux/hello
tests/test-progs/hello/bin目录下还有arm,mips等目录,执行arm/linux/hello会说平台错误)
三、测试阶段
se模式下执行hello测试程序。
执行命令:
build/ARM/m5.opt configs/example/se.py -c tests/test-progs/hello/bin/arm/linux/hello
部分输出:
**** REAL SIMULATION ****
info: Entering event queue @ 0. Starting simulation...
Hello world!
到此,安装测试成功!!
通过实验,以上方法可行!