简单修改gem5的默认例子hello world

陆续写些关于新书《自己动手写CPU》的博客,本篇主要是讲解简单修改gem5的默认例子hello world

gem5默认的例子是hello world,在tests/test-progs/hello/src文件夹下,内容如下:

#include <stdio.h>

int main()
{
    printf("Hello world!\n");
}

修改为如下:

#include <stdio.h>

int main()
{
    printf("Hello world! GEM5\n");
}

也就是简单的修改了输出内容,本实验的主要目的是熟悉编译gem5测试程序的过程,所以只是做了一个简单修改。

使用如下语句编译,注意加上--static选项:

gcc --static hello.c -o hello

但是提示:

/usr/bin/ld: cannot find -lc
collect2: ld 返回 1

原因是编译时需要链接静态库,但是没有找到,可以使用如下命令检查是否安装:

rpm -ql glibc-static

如果没有安装,使用如下命令安装(适用于CentOS):

yum install glibc-static

安装完成后,再次编译,顺利通过。

将生成的hello复制到tests/test-progs/hello/bin/x86/linux文件夹下。然后使用如下命令测试:

./build/X86/gem5.opt ./configs/example/se.py -c ./tests/test-progs/hello/bin/x86/linux/hello  

就可以在结果中看到如下输出

Hello world! GEM5

注意:需要提前有文件./build/X86/gem5.opt,生成方法如下:

scons build/X86/gem5.opt  
时间: 2024-10-09 05:03:45

简单修改gem5的默认例子hello world的相关文章

xampp默认mysql密码设置,修改mysql的默认空密码

xampp默认mysql密码设置,修改mysql的默认空密码 分类: xampp2012-09-12 11:24 30264人阅读 评论(5) 收藏 举报 mysqlphpmyadminauthentication数据库管理工具数据库extension 以前开发我一直都是用的appserv,appserv的特点就是一键安装,安装的时候会要求用户输入mysql的root密码.今天我改用xampp作为我的开发环境,所以碰到了修改mysql默认空密码的问题. 我看了下网上所提供的一些帮助信息,搞的那么

Linux或Window是修改snmp的默认端口

SNMP默认端口通讯使用 UDP 161,在安装一些监控软件的过程中,常常提示端口被占用等情况,下面说一下如何修改系统的默认SNMP端口 windows修改snmp端口 1 打开services文件 路径:C:\Windows\System32\drivers\etc 2 修改端口 修改前:snmp 161/udp #SNMP 修改后:snmp 1161/udp #SNMP 3 重启SNMP的服务 linux 修改snmp端口 1 修改linux的/etc/snmp/snmpd.conf文件 命

iOS运用runtime全局修改UILabel的默认字体

iOS运用runtime全局修改UILabel的默认字体 一.需求背景介绍 在项目比较成熟的基础上,遇到了这样一个需求,应用中需要引入新的字体,需要更换所有Label的默认字体,但是同时,对于一些特殊设置了字体的label又不需要更换.乍看起来,这个问题确实十分棘手,首先项目比较大,一个一个设置所有使用到的label的font工作量是巨大的,并且在许多动态展示的界面中,可能会漏掉一些label,产生bug.其次,项目中的label来源并不唯一,有用代码创建的,有xib和storyBoard中的,

快速修改android系统默认日期方法

在android系统的设备上,都有一个默认的开始日期,看过很多设备,有些设备在没有联网的时候没有同步到系统时间的时候,居然默认的还是1970年的日期,也见过有些设备默认到2000年1月1日的,这样相对进了一步,但是还不够.笔者下面很简单的介绍一下一个超级简单的方法: /*****************************************************************************************************/声明:本博内容均由http

修改 Apache 的默认端口

修改 Apache 的默认端口修改 Apache 端口的方法是最妥协的方法了,后果是当你开启 Apache 服务器的时候,访问的本机地址将会附带端口号,比如 http://localhost:8888 .修改方式是直接修改 httpd.conf 文件,文件的位置在 Apache 安装目录下的 conf 文件夹下,直接用记事本打开,找到 Listen 80 ,将80修改为其他未被占用的端口.注:httpd.conf 文件中,以#开头的行是关闭的,不生效的,不以#开头的行是启用的.查找80端口被谁占

022 修改springmvc的默认配置

一 .概述 在springboot之中,springmvc的默认配置都是配置好的,但是在我们使用的过程之中需要对默认的配置进行修改. 本节,我们完成对springmvc的默认配置的修改, [1]了解springmvc的自动配置原理 [2]修改springmvc的默认配置. 二 .springmvc的自动配置原理 springboot在默认情况进行对springmvc进行了配置,我们首先看一下自动配置类. WebMvcAutoConfiguration在这个类之中帮助我们配置好了springmvc

修改Android Studio默认的API Level(SDK版本)

原文:修改Android Studio默认的API Level(SDK版本) Android Studio(2.1.2)新建工程的时候只会让你选择最低支持的SDK版本,默认的目标编译SDK版本会以系统当前SDK中最新SDK platform作为目标的API Level.但是很多时候我们并不需要最新的SDK版本,如何修改呢? 方法是:修改工程目录中的Gradle Scripts->build.gradle(Module:app)中的相关行,具体见下图: 当然也可以图形化操作,右键工程目录选择"

CentOS修改系统的默认启动模式为命令号界面

CentOS在安装桌面之后,将图形界面设置为默认模式,给PC内存带来较大压力,所以希望修改系统的默认启动模式为命令号界面,而不启动图形界面.方法如下: 1.以 root用户登录系统:或者 用su切换到超级用户模式: 2.修改/etc/inittab 文件: vi /etc/inittab 将最后一句: id:5:initdefault: 修改为: id:3:initdefault: 保存退出,重启系统即可. 3.原因及解释: Linux有7种运行级别:如下所示 # Default runleve

jfinal初接触,一个简单的文件上传例子

写了个上传的小例子. 从jfinal官网下载jfinal-1.8_demo_for_jsp.zip 然后下载jfinal-1.8-lib.zip 按要求删掉该删除的,引入一些包,之后的项目结构: DemoConfig.java中配置路由,只留下了根路径: /** * 配置路由 */ public void configRoute(Routes me) { me.add("/", CommonController.class); //me.add("/blog", B