Разница между моделями QEMU и FVP

Кто-нибудь знает, в чем разница между двоичными файлами ARM для фиксированной виртуальной платформы (FVP) (для которых обычно требуется платная лицензия) и бесплатными моделями QEMU?

Например: каковы их сильные / слабые стороны, такие как возможности отладки и трассировки?

0 ответов

Я бы сказал, что, хотя их можно сравнивать, не следует, поскольку они нацелены на разные цели. Обратите внимание, что используемые здесь термины определены в DS-5: Что такое FVP, RTSM, модель основания, модель AEM, быстрая модель, CADI?), как вы указали FVP и fastmodel.

Я постараюсь ответить, основываясь на том, что я пробовал с этими инструментами.

Скорость против точности.


QEMU менее точен, но быстрее, чем FVP. Об этом есть много разных источников (хотя я не смог получить статью о тестах), но я заметил, что QEMU в 2 раза быстрее, чем fastmodel для загрузки Linux.

О точности: если вы хотите запускать только приложения, то QEMU для вас. Однако, если вы хотите получить микроархитектуру (что находится внутри ядра, разбираться в расширениях безопасности и т. Д.), Тогда необходима fastmodel. Если вам нужен доступ к новым расширениям / обновлениям процессоров, то fastmodel будет первым, у кого будут эти функции. Вероятно, еще до того, как кремний будет доступен, поскольку он разработан в Arm.

Поддержка


QEMU имеет открытый исходный код, поэтому вы можете попросить сообщество помочь вам или даже покопаться в коде. В то время как у Arm есть "горячая линия" поддержки, и вы не можете получить доступ к коду.

У обоих есть много документации по использованию инструмента, и ее довольно легко найти.

Оба работают в Windows/Linux.

Функциональность


QEMU также дает возможность запускать qemu-static(см. пакет в Ubuntu,..) и эту страницу с обзором. Fastmodel не предлагает эту функциональность.

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

Создание новой SoC


Системный холст можно использовать в Fastmodel (см. Документацию), который представляет собой графический интерфейс, который можно использовать для создания SoC.

В QEMU, похоже, есть несколько предопределенных платформ, которые вы можете использовать. При использовании FVP они перечислены здесь.

Отлаживать


QEMU, похоже, предлагает только GDB в качестве отладчика ( https://wiki.qemu.org/Documentation/Debugging). FVP можно использовать с CADI, GDB, ModelDebugger. Кажется, с помощью отладчика Arm можно получить больше информации о компонентах системы.

Другие вопросы по тегам