Gem5和NVMain集成使用教程

之前找了很多资料,按照教程试了之后发现仍然有错。弄了好久才搞定。现来分享一下流程和自己的总结。

先说流程:

1.注册bitbucket账号

NVMain的申请需要注册bitbucket账号。而这个账号的注册需要翻墙,不然过不了网站机器人的检测。

2.获取NVMain使用权

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

3.安装Mercurial

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

apt-get install mercurial

4.安装Gem5和NVMain

使用命令获取Gem5。

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

使用第二步获得的下载命令下载NVMain。(此时gem5和NVMain在同一目录下)

5.配置hgrc文件(这一步不知道有什么用,但我在看其他教程都有)

使用在Gem5根目录下用命令编辑.hg文件夹下的hgrc文件,将其中的username改成自己的信息。

vim .hg/hrgc

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/ARM/gem5.opt

8.运行

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

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

例子:./build/ARM/gem5.opt ./configs/example/se.py -c ./tests/test-progs/hello/bin/arm/linux/hello --mem-type=NVMainMemory --nvmain-config=../nvmain/Config/3D_DRAM_example.config

总结

1.打补丁错误

       打补丁出现错误很有可能是Gem5和NVMain的补丁版本没有统一有关。补丁名称后面的数字就是符合的Gem5的版本。   推荐使用最新的Gem5和NVMain,这样能保证补丁合适。

2.关于编译后无法运行程序

       联合编译没有错后,但无法运行程序。可以打开补丁文件看一下补丁修改了哪些文件,然后找到那些文件看有没有打上补丁。若没有,则手动打上补丁再进行编译。



大概就是这样了,欢迎大家指正。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值