-1

问题:是否有(最好是在线或 Linux 操作的)RISC 编译器,具有显示寄存器内容等的界面而无需硬件?(我想我正在寻找一个简单的模拟器。)

背景:我在网上找了很长时间,我能找到的最接近的是一个不稳定的 NIOS II 编译器。当连接到 Altera 硬件等时,我已经能够运行 NIOS 汇编代码,但我经常无法访问它(而且我宁愿不必每次都将 RISC 转换为 NIOS)。我还看到了一些基于 Unix 的编译器,但据我研究,这也需要硬件。

我理解这样做的复杂性(在某一时刻,我开始编写自己的 RISC 编译器,但我仍在研究该语言并很快遇到了障碍)但我仍然想知道是否有一个足够简单的模拟器/编译器可以解析我忽略的 RISC 长度。

(注意:我正在寻找此处采样的 RISC ,而不是 RISC-V,因为我遇到了一些问题。我尝试过GCC和 ARM,但它们不是我想要的)

4

1 回答 1

3

ARM代表“高级RISC机器”;有一个针对该平台的非常稳定、通用和优化的编译器:GCC。Clang 也以 ARM 为目标,许多其他编译器也是如此(毕竟,它是最流行的架构之一,并且有多种版本和大小,从最小的嵌入式微控制器到成熟的台式机/笔记本电脑多核 GHz CPU、网络织物控制器等)。

看到无处不在的 ARM 处理器,您甚至很可能拥有硬件:大多数智能手机在 ARM 上运行,您的汽车(如果是较新的)肯定有几个 ARM 微控制器,您最喜欢的电子产品(洗衣机?立体声?)不太可能拥有 ARM Cortex-M 微控制器;即使您现在没有硬件,但想尝试使用 RISC 微控制器:评估板的价格低于 10 美元。

有了 qemu-arm,你也得到了一个成熟的模拟器,所以你真的不需要任何硬件;您可以轻松地将仿真或实际执行与 GDB、GNU 调试器结合起来,并且不仅可以深入了解寄存器,还可以了解任意内存位置(对于 ARM,这几乎代表了不是 CPU 核心的每一块硬件) .

RISC 架构非常流行——您应该只查找 GCC 支持的目标架构,然后选择其中一个。我仍然认为 ARM(或 RISCV)是一个不错的选择——那里有实际的硬件,有成熟的模拟器,还有很多社区知识。

于 2016-10-16T17:54:14.053 回答