版权声明:本文为博主原创文章,未经博主允许不得转载。 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