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 ls36 mkdir fs-image // 创建全系统镜像37 ls38 cd fs-image/39 ls40 tar -xjf arm-system-2011-08.tar.bz2 //解压41 ls42 cd disks/43 ls44 sudo mount -o loop,offset=32256 arm-ubuntu-natty-headless.img /mnt //挂载这个镜像到/mnt45 ls46 ls /mnt47 sudo mount --bind /proc /mnt/proc // 把自己系统的proc文件bind到挂载的/mnt/proc,不然这里没有48 sudo mount --bind /dev /mnt/dev // 同样还有这个dev49 sudo chroot . //切成root用户失败50 sudo apt-get install qemu-user-static // 安装模拟器51 sudo apt-get install qemu qemu-user qemu-system52 cd /mnt53 ifconfig54 sudo chroot .//切成root用户55 cd ~56 ls57 vim hello.c58 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.outsysbench --test=cpu --cpu-max-prime=100 run exit# 回到yym用户60 ls61 sudo umount /mnt/proc62 sudo umount /mnt/dev63 sudo umount /mnt64 cd65 sudo umount /mnt/66 ls
3、2把镜像文件挂载到一个目录下
在gem05055555目录下,创建一个临时文件夹
105 mkdir temdir106 ls107 sudo mount -o loop,offset=32256 disks/arm-ubuntu-natty-headless.img temdir // 把镜像文件挂载到这个文件夹下108 ls109 cd temdir/110 ls111 cd root112 sudo cd root113 ls root114 cd115 ls116 cd -117 ls118 cp ~/hello.c root/119 sudo cp ~/hello.c root/120 ls121 ls root122 ls root/123 sudo ls root