Разница между моделями 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 можно получить больше информации о компонентах системы.