21

我熟悉 X86[-64] 架构和程序集。我想开始开发 ARM 处理器。但与台式机处理器不同,我没有真正的 ARM 处理器。我想我需要一个 ARM 模拟器。

http://www.armtutorial.com/

需要一个 ARM 汇编编译器,最容易访问的是 ARMulator。

我想下载 Armulator 但从http://forums.arm.com/index.php?showtopic=13744发现

它不是单独出售的。但是您可以下载 RVDS 的评估 - 其中包括 RVISS/ARMulator

我已经下载并安装了 RVDS,但它看起来很复杂。我无法弄清楚我需要做什么来编写 ARM 程序集并运行它

你有更好的建议吗?

4

4 回答 4

23

环境选项

  • 在QEMU系统模拟器中安装 Linux 。它可以模拟各种基于 ARM 的芯片组。
  • 获取特定 ARM 芯片组的模拟器,例如游戏掌上电脑。Gameboy Advance 玩起来很有趣。NoCash GBAVisualBoy Advance是两个很棒的 GBA 模拟器。

工具链

您将需要一个工具链。工具链是低级工具的集合,例如汇编器、链接器、编译器、存档器和一堆其他有用的东西。更重要的是,您需要一个跨工具链,这意味着工具链在一个系统上运行,但为另一种架构构建可执行文件。通过这种方式,您可以构建在 ARM 设备上运行的应用程序,但可以在基于 x86 的 PC 上运行。它更快更方便。

如果您运行 Windows,DevkitPro是一个相当不错的选择。对于 Unix/Linux/BSD 变体,您有CodeSourcery 的免费工具链,以及来自gnuarm.com的 GCC 工具链。还有其他几个,但您不需要更多选择。

文档

在infocenter.arm.com 上获取您选择的 ARM CPU 的规格。无论 CPU 是什么,您都需要一份参考资料,即 ARM 架构参考手册(通常缩写为 ARMARM)。我托管的是旧版本,它涵盖了 ARM 架构和指令集版本,直到 ARMv4T, 在这里,但您也可以在infocenter.arm.com 上找到当前和更高版本。如果您选择 GBA,请注意 CPU 是 ARM7TDMI,指令集版本为 ARMv4T。

ARMARM 包含常规系统编码的技巧和示例,关于如何处理某些设计问题的技巧,以及 ARM 指令集、Thumb 指令集和协处理器(如 MMU、MPU、DSP 和FPU。

如果您坚持使用 QEMU,这几乎就是您所需要的,因为 Linux 内核可以处理所有事情。QEMU 还具有用户模式仿真(带有 C 库存根)。如果您选择其中一个 GBA 仿真器,这里有一个关于 GBA 硬件和硬件寄存器的不错参考:CowBiteSpec。还要确保查看http://www.gbadev.org/

Nintendo DS 可能也是一种选择,但我还不知道该掌上电脑有什么像样的模拟器。祝你好运 :-)

编辑:这是我多年前编写的一些 GBA 代码的一个简单示例:GBA Color fill 240x160 16-bit example

于 2010-04-16T10:05:31.233 回答
7

一些评论,不竞争海报问题的完整答案。

beagleboard 很酷,150 美元,但它需要另外 150 美元的 USB 东西才能使它有用。由于缺少必须购买的东西,embest beagleboard 总体上更便宜。但是现在有了 hawkboard,也是一个基于 omap 的板,成本低于 100 美元,到目前为止看起来做得很好。我现在比比格板更喜欢它,远没有那么痛苦。

在这个价格范围内,开放式板提供的远不止比格板,如果/当你有玩具预算时,可以研究一下。开放式电路板和另外 100 美元的封闭式电路板都有一个完整的 sata 连接器,因此您可以在其上放置笔记本电脑驱动器,而不必使用速度极慢的闪存设备或 USB。

海报没有资源购买这些玩具。我认为,如果您继续追求这一点并擅长嵌入式 ARM,您将有意愿并找到方法。这就是为什么我提到 Sparkfun 和其他人有 30-50 美元的开箱即用的板。在购买之前向stackoverflow发布一个问题,尽管询问哪个更好。我有很多,其中有一些我发现无法使用或太痛苦而无法打扰,我不希望您将所有的玩具预算都花在不值得拥有的东西上。

我这里有一些 qemu arm 集成器示例代码,让我将其打包并提供一个工作示例。我有很多其他的 arm 和 gba 代码,也许我也会发布。

ARM 架构开始了,上次我使用称为 armulator 的模拟器(google/wikipedia it)与他们的人员/工具一起工作。因此,特别是模仿 arm 并不少见。

编写自己的模拟器将/可能是一个有趣的项目,或者采用现有的模拟器并添加自己的外围设备。qemu 和 mame 太笨重而无法按原样玩,您可以轻松地从 mame 中取出手臂。

于 2010-04-18T00:36:54.240 回答
4

你可以让自己玩一个像BeagleBoard这样的东西——它们只需要 200 美元左右。您可以在其上安装 Ubuntu 和 ARM 工具链。

于 2010-04-16T06:37:21.720 回答
-1

去给你买一台 RPi3。您可以查看https://www.element14.com/community/community/raspberry-pi

这真的很便宜,而且使用起来非常简单。而且你也会得到很好的社区支持。检查https://www.raspberrypi.org/products/raspberry-pi-3-model-b/了解更多信息。

于 2017-06-03T10:43:15.557 回答