gem5+NVMain联合编译

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jasonLee_lijiaqi/article/details/84572076

1.注册bitbucket账号

进入官网,注册即可,记住你的用户名及邮箱,在后面会用到。

2.获取NVMain使用权

打开https://bitbucket.org/mrp5060/nvmain/并登陆bitbucket账号,登陆后重新打开前面这个网站获取下载命令
我的命令是:

hg clone https://[email protected]/mrp5060/nvmain

3.安装Mercurial

需要用到一个轻量级的源代码控制管理工具:Mercurial。

apt-get install mercurial

4.安装Gem5和NVMain

使用命令获取Gem5。

hg clone http://repo.gem5.org/gem5

使用第二步获得的下载命令下载NVMain。
即:

hg clone https://[email protected]/mrp5060/nvmain

(此时gem5和NVMain在同一父目录下),如下图:
在这里插入图片描述
千万不要把nvmain的文件夹放到gem5的文件夹里面。

5.配置hgrc文件

使用在Gem5根目录下用命令编辑.hg文件夹下的hgrc文件,将其中的username改成自己的信息。
这个信息就是在第一步注册时你填写的用户名和邮箱。

vim .hg/hrgc

我的文件修改是这样的:

[ui]
# name and email (local to this repository, optional), e.g.
username = jason <[email protected]>
[extensions]
hgext.mq=

主要注意的是,要启动mq拓展模块,如果不启用该模块,在第六步hg qinit时会报错。

6.安装补丁

这一步是最复杂的一步。出错一般在这一步。

1)进入Gem5目录中,使用命令初始化补丁目录。

hg qinit

2)使用命令输入补丁,后面的地址是NVMain的补丁存放地址(补丁的文件名会随着版本变化,自己进入文件夹看一下)。

hg qimport -f ../nvmain/patches/gem5/nvmain2-gem5-11688+

3)安装补丁

hg qpush

7.联合编译Gem5和NVMain

使用命令编译,时间会很久。

scons EXTRAS=../nvmain ./build/X86/gem5.opt  -j4

8.运行

在编译完成后你会发现Gem5的mem-type多出了一个选项NVMainMemory。

使用命令 --mem-type=NVMainMemory --nvmain-config=/path/to/nvmain.config运行。

例子:

./buildX86/gem5.opt ./configs/example/se.py -c ./tests/test-progs/hello/bin/x86/linux/hello --mem-type=NVMainMemory --nvmain-config=../nvmain/Config/3D_DRAM_example.config 

猜你喜欢

转载自blog.csdn.net/jasonLee_lijiaqi/article/details/84572076