Arm(thumb-2)组装仿真器?

Arm(thumb-2)组装仿真器?,arm,emulation,Arm,Emulation,有thumb-2汇编的仿真器吗?我想编写简单的ARM Thumb-2汇编程序并测试它们,而不需要使用实际的ARM设备,所以我唯一的选择是仿真 我的目标是在thumb-2汇编中实现大量的算法,作为学习练习。我甚至不需要其他硬件的仿真(比如io/显示/等等)。只是能够运行thumb-2汇编(编译或不编译)并查看结果(也就是说,基本上能够调试程序并在程序完成后查看模拟内存的内容) 像这样的东西存在吗,还是我在抓救命稻草?QEMU支持Thumb-2处理器,如Cortex-M3和Cortex-A8。它甚至

有thumb-2汇编的仿真器吗?我想编写简单的ARM Thumb-2汇编程序并测试它们,而不需要使用实际的ARM设备,所以我唯一的选择是仿真

我的目标是在thumb-2汇编中实现大量的算法,作为学习练习。我甚至不需要其他硬件的仿真(比如io/显示/等等)。只是能够运行thumb-2汇编(编译或不编译)并查看结果(也就是说,基本上能够调试程序并在程序完成后查看模拟内存的内容)


像这样的东西存在吗,还是我在抓救命稻草?

QEMU支持Thumb-2处理器,如Cortex-M3和Cortex-A8。它甚至出现在最新的CodeSourcery版本中。

Thumb2主要是带有一些新指令的thumb。拇指的大部分教育只是学习拇指。所有thumb2处理器对thumb指令集都非常满意。与在学习arm11指令之前学习arm7没有什么不同。Thumblulator将帮助您完成thumb指令集的基本功能,但除非您选择实现它们,否则Thumblulator将不提供thumb2附加功能

还有armulator,它是/曾经是arms指令集仿真器,您可以在gdb之类的东西中找到它。在学习qemu时没有任何用处,但如果您想观察正在发生的事情,则比qemu更简单。gdb本身可能是您感兴趣的平台,因为它与指令集仿真器一起具有这种可见性

Qemu很适合于为某个arm/thumb目标模拟linux构建(并使其快速运行)。如果驱动程序已经就位,等等。但是从零开始,只是为了能够看到汇编程序的少数几行代码,您将不得不进行一些I/O,并且可能很难让qemu启动并运行您的代码,这可能会适得其反。ymmv

Android仿真器(4.0)建议使用armeabi-v7a

我还试着看看是否有廉价的硬件Android平板电脑和Cortex A8处理器以Thumb-2模式运行,或者你是否可以在它们上面运行原生Thumb-2代码

“NDK的最新版本支持以下ARM指令集: ... ARMv7-A(包括Thumb-2…”
不确定它需要什么版本的Android。你有几个选择。我将按从最好到最坏的顺序列出它们

  • QEMU仿真设备
  • Keil uVision软件
  • Yocto钻头烘焙工具
  • 说明:

  • QEMU就是我喜欢称之为虚拟机的“地铁”。你可以用“你想要的一切,你不想要的一切”构建一个完整的虚拟机。这意味着你可以设计你想要模仿的机器的几乎每个方面(包括它使用的ISA)。一些QEMU技术技能需要这些

  • Keil uVision是开发、测试和上传汇编/嵌入式C代码的好工具。Keil无需附加设备即可处理大量调试

  • Yocto是一个用于创建定制Linux环境的开源工具。与QEMU类似,您正在创建一个定制的体系结构。这比QEMU的文档更少,而且更“挑剔”。非常酷的项目#


  • 这也适用于非商业版本吗?我不确定,可能不适用于免费版本。但你可以始终构建自己的版本。非常酷,感谢你指出这一点。我从未听说过这一点。Stackoverflow是解决此类问题的合适位置。实际上,thumb2添加了大量内容,并使先前/最初的thumb指令复杂化ons。我肯定会先学习thumb,然后再学习thumb 2。arm-arm-7m可从arms网站免费下载(注册后),包括cortex-m3支持的指令集和所有thumb 2混沌。