跳转至

RARS

RISC-V 指令集专属

RARS 为 RV32I 指令集的相关工具,选择 LA32R 的同学请移步 LARS。

RARS 是基于 RISC-V 架构的汇编综合实验平台。RARS 程序提供了汇编器、仿真器(参考 ICS LabA\(\&\)S)等功能,同时也包含了方便的外设接口与信息查询接口,被广泛用于 RISC-V 汇编程序的编写与测试之中。

概述

你可以点击这里获取 1.6 版本的 Rars 应用。Rars 在安装了 Java 运行环境的电脑上都可以正常使用。你可以在 Vlab 平台上获取 Java 的有关资源。由于篇幅有限,大家可以参考这篇博客中的相关内容或其他教程进行下载与安装。

RISC-V 汇编程序涉及到的相关知识点请参考课本与指令集手册。如果你以前未接触过,或不熟悉汇编语言编程的话,可以参考这篇教程。本次实验中,你可能会关注下面的内容:4-Assembly language、6-The RV32I ISA。

下面,我们将对本次实验中可能用到的相关内容进行介绍。

内存设置

在主界面上,单击 Settings >> Memory Configuration 即可打开下图所示的子界面。在 RARS 中,内存空间被划分为许多部分。按照功能可以概括为:程序段、数据段、栈空间与堆空间、内核空间以及 MMIO 保留地址。根据设置的不同,各个部分的相对位置与大小也有所不同。

Image title

内存分布(紧凑型)

在本学期的实验中,我们均将内存空间设置为默认类型(Default)。

简单使用

正常运行 Rars 程序后,你将看到下面的界面。

Image title

Rars 界面

为了创建一个新项目,你可以在左上角,依次单击 File \(\rightarrow\) New,即可新建一个 .asm 汇编文件。此时我们便可以进行汇编代码的编写工作。

Image title

编写汇编代码

完成编写后,请保存 .asm 文件,如上图所示点击 Assemble 按钮。此时 Rars 便会开始编译 RISC-V 代码,并在下方提示可能的错误(上图中的代码就无法通过编译)。如果一切顺利,我们就可以进入调试界面,开始执行汇编程序。

Image title

调试

在执行与调试时,请善用断点功能,并及时查看各个寄存器和存储单元中的数值变化。

在代码编译之后,你可以在左上角点击 File\(\rightarrow\)Dump Memory,即可选择将代码段或数据段导出成 COE 文件。你需要选择十六进制的格式导出,并参考 COE 文件的格式添加部分内容。

对于 Rars 的其他功能,请在程序内点击 Help 查看官方的教程。

评论