【问题标题】:How to execute ARM binary instructions?如何执行ARM二进制指令?
【发布时间】:2020-07-13 15:33:28
【问题描述】:

假设我有一个文件,其中包含已以字节表示的 ARM 处理器指令。使用 qemu-arm 直接执行它们的最佳方法是什么?

谢谢!

【问题讨论】:

  • 也许 asm .incbin(如果这是正确的 GAS 指令)到一个可以链接到可执行文件的目标文件中。 (使用该代码上的_start 入口点。)
  • 手臂指令只是问题的一小部分,就像说我有一本书是用字母写的,我怎么看书。指令集只是将您带到内存空间和外围设备,因此如果您不将其与构建/设计的系统匹配,执行指令可能/将简单地崩溃。

标签: arm qemu instructions


【解决方案1】:

如果你的数据是可启动的镜像,qemu可以直接用镜像文件启动:

qemu-system-arm -hda data.img

其中data.img 是您的二进制文件的名称。

否则,正如 Peter Cordes 所写,最简单的方法是创建一个 ELF 可执行文件(请参阅How to run a bare metal ELF file on QEMU?)并通过以下方式启动它

qemu-system-arm -kernel data.elf

其中data.elf 是创建的ELF 可执行文件的名称。

(评论太长,所以我将其发布为答案)

【讨论】:

  • 你的命令行不能工作,因为你没有告诉 QEMU 使用哪种机器类型...
  • 没错,需要添加-machine。
猜你喜欢
  • 1970-01-01
  • 2017-07-11
  • 1970-01-01
  • 2014-10-08
  • 2012-07-31
  • 2012-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多