Gem5的编译及运行测试程序

1、编译之前,首先安装库文件:

以ubuntu1201系统为例,安装库文件如下:

$:sudo apt-get install mercurial scons swig gcc m4 python python-dev libgoogle-perftools-dev g++

2、然后下载gem5源码:

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

3、编译gem5的各个架构:

在根目录下运行:$:scons build/ARM/gem5.opt

 其中ARM可以换成X86,MIPS等等,编译完成后就可以运行测试程序。

4、运行测试程序:

$: cd ~/gem5      //进入gem5源码根目录

$:build/ARM/gem5.opt configs/example/se.py -c tests/test-progs/hello/bin/arm/linux/hello 

打印出如下信息:
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 compiled Nov 16 2012 10:27:19
gem5 started Nov 28 2012 14:36:59
gem5 executing on slave0
command line: build/ARM/gem5.opt configs/example/se.py -c tests/test-progs/hello/bin/arm/linux/hello
Global frequency set at 1000000000000 ticks per second
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7002
**** REAL SIMULATION ****
info: Entering event queue @ 0.  Starting simulation...
Hello world!
hack: be nice to actually delete the event here
Exiting @ tick 3107500 because target called exit()

以上红色部分就是程序执行的结果。

5、看下测试程序的源码:

$:cd ~/gem5

$: gedit  tests/test-progs/hello/src/hello.c

打开可以看到,就是一个helloworld测试程序。

NOTE:如果你想重新写个测试程序,注意想在什么架构下运行,如果在ARM架构下运行,需要用ARM toolchain ,如果想运行MIPS架构的测试程序,需要用MIPS的交叉工具链编译测试程序。

有朋友反映运行程序出问题,有几点需要注意:

gem5有SE(系统调用模拟)模式和FS(全系统)模式,SE是单独运行测试程序的模式,要运行的程序必须静态链接。

FS是全系统模式,运行linux操作系统才用的。如果没有特别需求,不建议用FS模式,因为巨慢!




  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值