Arm(thumb-2)组装模拟器?

时间:2010-09-01 04:37:40

标签: arm emulation

是否有拇指2组装的模拟器这样的东西?我想编写简单的ARM Thumb-2汇编程序并测试它们而不需要使用实际的ARM设备,所以我唯一的选择是仿真。

我的目标是在thumb-2汇编中实现相当数量的算法作为学习练习。我甚至不需要模拟其他硬件(例如io / display / etc)。只是能够运行thumb-2程序集(编译与否)并查看结果(即,基本上能够调试程序并在程序完成后查看模拟内存的内容)。

这样的事情是存在的,还是我抓住稻草?

4 个答案:

答案 0 :(得分:5)

QEMU支持使用Thumb-2的处理器,例如Cortex-M3和Cortex-A8。在最新的CodeSourcery版本中它甚至是included

答案 1 :(得分:1)

Thumb2主要是带有一些新指令的拇指。大多数thumb2教育只是学习拇指。所有的thumb2处理器都非常满意拇指指令集。在学习arm11指令之前,与学习arm7不同。除非您选择实施,否则thumbulator将有助于拇指指令集,基础知识,但不包括thumb2添加。

还有一个arm / arm指令集模拟器,你可以找到像gdb这样的东西。在学习qemu时没有任何用处,但如果你想尝试观察正在发生的事情,那么比qemu更简单。 gdb本身可能是您感兴趣的平台,因为它具有可见性以及指令集模拟器。

Qemu适用于模拟某个arm / thumb目标的linux构建(并且运行速度快)。驱动程序到位等等。但是从头开始,只是为了得到你可以看到少数汇编程序的地方,你将需要一些I / O,并且可能很难让qemu启动并运行你的代码,与你正在做的事情相反。 YMMV

答案 2 :(得分:1)

Android模拟器(4.0)建议使用armeabi-v7a

我也试图看看是否有任何带有Cortex A8处理器的廉价硬件Android平板电脑在Thumb-2模式下运行,或者你是否可以在它们上运行本机Thumb-2代码

“最新版本的NDK支持这些ARM指令集: ... ARMv7-A(包括Thumb-2 ......“ 不确定它需要什么版本的Android

答案 3 :(得分:0)

您有几种选择。我会按照从最好到最差的顺序列出它们。

  1. QEMU模拟设备
  2. Keil uVision软件
  3. Yocto bitbake工具
  4. 说明:

    1. QEMU是我喜欢称之为VM的“地铁”。您构建了一个完整的虚拟机,其中包含“您想要的一切,而您没有的任何内容”。这意味着您可以设计您想要模拟的机器的几乎所有方面(包括它使用的ISA)。需要一些QEMU技术技能。

    2. Keil uVision是开发,测试和上传汇编/嵌入式C代码的好工具。 Keil无需连接设备即可处理大量调试。

    3. Yocto是一个用于创建自定义Linux环境的开源工具。与QEMU类似,您正在创建自定义架构。虽然这比QEMU更少记录,更“挑剔”。非常酷的项目#promotions