Как эмулировать программы ARM64 в Windows X64 с помощью Qemu?

1516
Biswapriyo

Я скачал Windows ARM64 ISO с https://uup.rg-adguard.net/ и открыл его с помощью Qemu, как в этой статье . Но Qemu так медленно эмулирует всю ОС Windows ARM64 (я знаю эмуляцию << гипервизор). Поэтому я подумал, возможно ли эмулировать один исполняемый файл (например, arp, ping и т. Д.) В Qemu (или с другими программами). Если да, то как я могу это сделать? Если нет, то почему?

0
Попробуйте добавить `--accel tcg, thread = multi`. Эта [статья] (https://winaero.com/blog/install-windows-10-arm-qemu/) также может помочь. Но я не думаю, что вы сможете сделать слишком много с ARM64. harrymc 6 лет назад 0
Я не думаю, что есть решение - эмуляция совершенно разнородной аппаратной архитектуры всегда будет мучительно медленной, поскольку каждая аппаратная инструкция ARM выполняется несколькими инструкциями Intel с использованием памяти вместо аппаратных регистров, поэтому может быть в десятки раз медленнее. Я не знаю ни одного другого продукта для виртуализации, поддерживающего ARM, кроме QEMU, поэтому не могу посоветовать другой эмулятор. Получить Raspberry Pi, если вы хотите играть с архитектурой ARM на родной скорости. harrymc 6 лет назад 1
Моя цель - скомпилировать и отладить программу в Windows 10 ARM. Biswapriyo 6 лет назад 0
Вы можете сделать это с QEMU, но вам нужно быть терпеливым. harrymc 6 лет назад 0
Вы можете найти инструкции по созданию виртуальной машины, а также загрузить предварительно созданные виртуальные машины. Вы хотите, чтобы я опубликовал ответ с этой информацией? harrymc 6 лет назад 0

1 ответ на вопрос

2
harrymc

Если эмулятор QEMU для компьютеров ARM работает слишком медленно, вы можете попробовать Microsoft Device Emulator 3.0 - Standalone Release . Некоторую информацию можно найти в статье «Руководство разработчика по эмулятору ARM», хотя она датируется 2005 годом и посвящена Microsoft Device Emulator 2.0.

Проект Xen также объявил о поддержке процессоров ARM, хотя я не знаю, насколько продвинута эта разработка, и неясно, может ли она эмулировать ARM или просто работать на физическом процессоре ARM. Это еще один эмулятор, который вы можете попробовать.

Если вы хотите использовать архитектуру ARM на родной скорости, единственное решение - получить устройство ARM. Raspberry Pi - дешевая возможность здесь.

Чтобы получить готовый образ с помощью Raspberry Pi в QEMU, см. Проект Эмуляция Raspberry Pi для Windows . Он поставляется с run.batфайлом, и вам нужно запустить его и следовать инструкциям.

Если все, что вам нужно, это играть с программами на ассемблере ARM, вы можете использовать CEMU, поддерживающий Arm / AArch64, и описать его следующим образом:

пакетное приложение с графическим интерфейсом, которое позволяет пользователям писать ассемблер и тестировать его, скомпилировав его в байт-код и выполнив его в эмуляторе на основе QEMU.

Инструкции по созданию, а также готовые виртуальные образы можно найти в среде Азия ARM Lab . Кроме того, они предоставляют таблицу основ ARM Assembly

Некоторая более полезная информация может быть найдена в этих ресурсах:

В этой [статье] (https://docs.microsoft.com/en-us/windows/uwp/debug-test-perf/test-with-the-emulator) упоминается [Эмулятор Microsoft для Windows 10 Mobile] (https: //go.microsoft.com/fwlink/p/?LinkID=615095), но я не знаю, это помогает. Surface RT использует ARM, но я не знаю ни одного изображения. harrymc 6 лет назад 0
Я думаю о запуске исполняемого файла ARM64 для Windows в ARM64 Wine (если доступно) в X64 Linux. Это будет работать? Biswapriyo 5 лет назад 0
@Biswapriyo: Извините, я не могу помочь там. Возможно, вам придется попробовать и посмотреть. harrymc 5 лет назад 0