How to emulate ARM64 programs in Windows X64 with Qemu?
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 :
- Raspberry Pi Emulation on Windows
- Setting up an ARM virtual machine
- How to Emulate a Raspberry Pi on Your PC
Related videos on Youtube
Biswapriyo
Updated on September 18, 2022Comments
-
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 about 6 yearsTry 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 about 6 yearsI 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 about 6 yearsMy goal is to compile and debug a program in Windows 10 ARM.
-
harrymc about 6 yearsYou can do it with QEMU, but you would need to be patient.
-
harrymc about 6 yearsYou 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 about 6 yearsThis 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 almost 6 yearsI'm thinking about running a ARM64 Windows executable in ARM64 Wine (if available) in X64 Linux. Will it work?
-
harrymc almost 6 years@Biswapriyo: Sorry, I cannot help there. You may need to try and see.