How to emulate ARM64 programs in Windows X64 with Qemu?

23,173

If the QEMU emulator for the ARM computers is too slow, you could try the Microsoft Device Emulator 3.0 -- Standalone Release. You could find some information in the article Developer’s Guide to the ARM Emulator, although it dates from 2005 and is about Microsoft Device Emulator 2.0.

If you wish to use ARM architecture at native speed, the only solution is to get an ARM device. The Raspberry Pi is a cheap possibility here.

For getting a ready-made image with Raspberry Pi on QEMU, see the project Raspberry Pi emulation for Windows. It comes with a run.bat file and you need to run it and follow instructions.

If all you wish is to play with ARM assembler programs, you could use CEMU, supporting Arm/AArch64, and described as :

a bundled GUI application that empowers users to write assembly and test it by compiling it to bytecode and executing it in an QEMU-based emulator.

Instructions on constructing and also ready-made virtual images can be found in the Azeria ARM Lab Environment. They also furnish an ARM Assembly Basics Cheatsheet

Some more useful information may be found in these resources :

Share:
23,173

Related videos on Youtube

Biswapriyo
Author by

Biswapriyo

Updated on September 18, 2022

Comments

  • Biswapriyo
    Biswapriyo over 1 year

    I've downloaded the Windows ARM64 ISO from https://uup.rg-adguard.net/ and open it with Qemu as in this article. But Qemu is so slow to emulate the whole Windows ARM64 OS (I know emulation << hypervisor). Hence I thought if it possible to emulate a single executable (like arp, ping etc) in Qemu (or with other programs). If yes then how can I do that? If not then why?

    • harrymc
      harrymc about 6 years
      Try to add --accel tcg,thread=multi. This article might also help. But I don't think you will be able to do too much with ARM64.
    • harrymc
      harrymc about 6 years
      I don't think there is a solution - emulating a totally dissimilar hardware architecture will always be excruciatingly slow, since each ARM hardware instruction is executed by several Intel instructions, using memory instead of hardware registers, so can be dozens of times slower. I don't know of any other virtualisation product that supports ARM except QEMU, so cannot advice another emulator. Get a Raspberry Pi if you wish to play with ARM architecture at native speed.
    • Biswapriyo
      Biswapriyo about 6 years
      My goal is to compile and debug a program in Windows 10 ARM.
    • harrymc
      harrymc about 6 years
      You can do it with QEMU, but you would need to be patient.
    • harrymc
      harrymc about 6 years
      You can find instructions on creating the VM, and you can also download pre-made VMs. Do you wish me to post an answer with this information?
  • harrymc
    harrymc about 6 years
    This article mentions the Microsoft Emulator for Windows 10 Mobile, but I don't know it it helps. The Surface RT uses ARM, but I don't know of any images.
  • Biswapriyo
    Biswapriyo almost 6 years
    I'm thinking about running a ARM64 Windows executable in ARM64 Wine (if available) in X64 Linux. Will it work?
  • harrymc
    harrymc almost 6 years
    @Biswapriyo: Sorry, I cannot help there. You may need to try and see.