作为GCC目标可用的最简单的体系结构

作为GCC目标可用的最简单的体系结构,gcc,cpu-architecture,Gcc,Cpu Architecture,我正在寻找由GCC支持的CPU体系结构(目前仍在维护),它是最容易实现软件模拟器的 它应该是简单的,具有平面内存模型、16位+地址空间、16-32位ALU和良好的代码密度,因为它将运行具有程序内存限制的程序 关于这些需求的起源,只需说几句话。我需要虚拟CPU来运行“沙盒”程序。它将在微控制器上运行,RAM为5千字节,ARM CPU的时钟速度为20兆赫 性能根本不是问题,我真正需要的是编写C/C++程序,然后在没有stdlib的沙箱中运行它们。对于编写GCC可以帮助的程序,只需要为目标体系结构之一

我正在寻找由GCC支持的CPU体系结构(目前仍在维护),它是最容易实现软件模拟器的

它应该是简单的,具有平面内存模型、16位+地址空间、16-32位ALU和良好的代码密度,因为它将运行具有程序内存限制的程序

关于这些需求的起源,只需说几句话。我需要虚拟CPU来运行“沙盒”程序。它将在微控制器上运行,RAM为5千字节,ARM CPU的时钟速度为20兆赫

性能根本不是问题,我真正需要的是编写C/C++程序,然后在没有stdlib的沙箱中运行它们。对于编写GCC可以帮助的程序,只需要为目标体系结构之一实现vcpu

我已经熟悉了ARMv7-m和avr32参考资料,发现它们非常容易接受,但比我需要的功能更强。我需要为vcpu实现编写的代码越少/越简单,我就越快得到我需要的东西,出现的bug就越少

更新: 看来我找到了我需要的。这里已经回答了以下问题:


谢谢大家。

为什么不使用现有的模拟器?我不知道任何合适的现有模拟器。你知道一些吗?qemu()是一个针对各种不同机器和架构的模拟器。如果你想要一个真正的硬件,你可以使用旧的录像机、路由器、调制解调器或智能手机来玩这些东西。我可能错了,但我认为QEMU太大了,不是为在这样的设备上运行而设计的。20MHz,5KB内存,50-100KB闪存大小。刚刚查看了QUEMU源代码树并找到了cpu的实现,可能会有所帮助,谢谢。