Рука (большой палец-2) в сборке эмулятора? - PullRequest
2 голосов
/ 01 сентября 2010

Есть ли такая вещь, как эмулятор для сборки thumb-2?Я хотел бы написать простые программы сборки ARM Thumb-2 и протестировать их без необходимости использования реального устройства ARM, поэтому мой единственный вариант - эмуляция.

Моя цель - реализовать значительное количество алгоритмов в большом пальце-2 сборка как учебное упражнение.Мне даже не нужна эмуляция другого оборудования (например, io / display / etc).Просто возможность запускать сборку thumb-2 (скомпилированную или нет) и просматривать результаты (то есть, в основном, иметь возможность отладки программы и просмотра содержимого эмулируемой памяти после завершения моей программы).

Существует ли что-то подобное или я цепляюсь за соломинку?

Ответы [ 4 ]

5 голосов
/ 01 сентября 2010

QEMU поддерживает процессоры с Thumb-2, такие как Cortex-M3 и Cortex-A8.Он даже включен в последних выпусках CodeSourcery.

1 голос
/ 13 декабря 2011

Эмулятор Android (4.0) предполагает использование armeabi-v7a

Я также пытаюсь выяснить, работают ли какие-либо дешевые аппаратные планшеты Android с процессорами Cortex A8 в режиме Thumb-2, или можно ли запуститьнативный код Thumb-2 на них

«Последний выпуск NDK поддерживает следующие наборы инструкций ARM: ... ARMv7-A (включая Thumb-2 ...», не уверен, какая версия Android ему требуется

1 голос
/ 02 сентября 2010

Thumb2 - это в основном большой палец с некоторыми новыми инструкциями. Большая часть образования thumb2 - это просто изучение большого пальца. Все процессоры thumb2 вполне довольны набором команд thumb. Не отличается от изучения arm7 перед изучением инструкций arm11. thumbulator поможет с набором команд thumb, основами, но не дополнениями thumb2, если вы не решите их реализовать.

Существует также эмулятор, который является / был эмулятором набора команд для оружия, который вы можете найти в таких вещах, как gdb. Не более полезно узнать, что такое QEMU, но проще, чем QEMU, если вы хотите посмотреть, что происходит. Сам GDB может быть интересующей вас платформой, поскольку он имеет такую ​​видимость вместе с эмулятором набора команд.

Qemu хорош, скажем, для имитации сборки linux для какой-либо цели рука / большой палец (и чтобы она работала быстро). Где драйверы на месте и т. Д. Но, начиная с нуля, просто чтобы увидеть, где вы можете увидеть несколько строк ассемблера, вам придется выполнить некоторые операции ввода-вывода, и вам может не хватить просто заставить qemu загрузить и запустить ваш код, быть против продуктивным тому, что вы делаете. YMMV

0 голосов
/ 16 февраля 2018

У вас есть несколько вариантов. Я перечислю их в порядке от лучшего к худшему.

  1. Эмулируемое устройство QEMU
  2. Программное обеспечение Keil uVision
  3. Yocto bitbake tool

Пояснения:

  1. QEMU - это то, что я люблю называть «метро» виртуальных машин. Вы создаете целую виртуальную машину с «всем, что вы хотите, и ничего, что вы не делаете». Это означает, что вы можете спроектировать почти каждый аспект машины, который вы хотели бы эмулировать (включая ISA, который она использует). Требуются некоторые технические навыки QEMU.

  2. Keil uVision - хороший инструмент для разработки, тестирования и загрузки кода сборки / встроенного C-кода. Keil может справиться с отладкой без необходимости подключенного устройства.

  3. Yocto - инструмент с открытым исходным кодом для создания пользовательских сред Linux. Как и в QEMU, вы создаете собственную архитектуру. Это менее документировано и более «привередливо», чем QEMU. Очень крутой проект # акции

...