gem5修改002

1、为新的对象创建一个python类

在自己创建的是simpleObject.py,而不是helloObject.py
参照

1、在目录:

gem/gem5-22183ae13998/src/learning_gem5/part2$
下的HelloObject.py ,就是对象Object相对应的python类,

2 然后在该目录下:

创建两个文件,一个.h文件,一个.c文件,
hello_object.hh 、hello_object.cc 、

3注册:

在当前目录:~/gem/gem5-22183ae13998/src/learning_gem5/part2$ 下修改文件:
SConscript

4 重构一下gem5

scons build/ARM/gem5.opt

5 创建新的配置脚本

然后在目录:~/gem/gem5-22183ae13998/configs/learning_gem5/part2$下修改或者添加执行py文件。
run_simple.py

2、调试gem5

执行:启用DRAM调试标志

build/ARM/gem5.opt --debug-flags=DRAM configs/learning_gem5/part1/simple.py | head -n 50

//根据CPU正在执行的确切指令进行调试
build/ARM/gem5.opt --debug-flags=Exec configs/learning_gem5/part1/simple.py | head -n 50


//调试信息
build/ARM/gem5.opt --debug-help

2、2增加一个i虚拟的调试

在/src/learn_gem5/part2/目录中的,SConscript文件中,添加语句:

DebugFlag('Hello')

然后在simple.cc源文件中包含头文件:#include "debug/Hello.hh"

把刚才使用cout<<的句子换成:
DPRINTF(Hello, "Created the hello object\n");

现在就可以重新编译
 build/ARM/gem5.opt --debug-flags=Hello configs/learning_gem5/part2/run_simple.py


3、全系统模拟

 cd gem5-22183ae13998/  //到目录下
   35  ls
   36  mkdir fs-image  // 创建全系统镜像
   37  ls
   38  cd fs-image/
   39  ls
   40  tar -xjf arm-system-2011-08.tar.bz2   //解压
   41  ls
   42  cd disks/
   43  ls
   44  sudo mount -o loop,offset=32256 arm-ubuntu-natty-headless.img /mnt  //挂载这个镜像到/mnt
   45  ls
   46  ls /mnt
   47  sudo mount --bind /proc /mnt/proc  // 把自己系统的proc文件bind到挂载的/mnt/proc,不然这里没有
   48  sudo mount --bind /dev /mnt/dev  // 同样还有这个dev
   49  sudo chroot .  //切成root用户失败
   50  sudo apt-get install qemu-user-static  // 安装模拟器
   51  sudo apt-get install qemu qemu-user qemu-system
   52  cd /mnt
   53  ifconfig
   54  sudo chroot .//切成root用户
   55  cd ~
   56  ls
   57  vim hello.c
   58  cd -
   59  sudo chroot .

#然后在root用户下,把yym用户的~/hello.c文件拷贝过去
(以下在root用户)
echo "nameserver 8.8.8.8">/etc/resolv.conf
apt-get update
apt-get install sysbench
scp yym@10.112.117.147:~/hello.c .
mv hello.c root
cd root
ls
gcc hello.c
./a.out

sysbench --test=cpu --cpu-max-prime=100 run 

exit

# 回到yym用户


   60  ls
   61  sudo umount /mnt/proc
   62  sudo umount /mnt/dev
   63  sudo umount /mnt
   64  cd
   65  sudo umount /mnt/
   66  ls

3、2把镜像文件挂载到一个目录下

在gem05055555目录下,创建一个临时文件夹

105  mkdir temdir
  106  ls
  107  sudo mount -o loop,offset=32256 disks/arm-ubuntu-natty-headless.img temdir  // 把镜像文件挂载到这个文件夹下
  108  ls
  109  cd temdir/
  110  ls
  111  cd root
  112  sudo  cd root
  113  ls root
  114  cd
  115  ls
  116  cd -
  117  ls
  118  cp ~/hello.c root/
  119  sudo cp ~/hello.c root/
  120  ls
  121  ls root
  122  ls root/
  123  sudo ls root

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值