2010-09-01 4 views
2

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

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

Что-то вроде этого существует, или я хватаюсь за соломинку?

+0

Принадлежит ChipHacker. – leppie

+0

Stackoverflow - это подходящее место для такого вопроса. –

ответ

5

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

+0

Это тоже для некоммерческих версий? – leppie

+0

Я не уверен, может быть, не в бесплатной версии. Но вы всегда можете создать свою версию в любом случае. –

+0

Очень круто, спасибо, что указали это. Я никогда не слышал об этом. – LCC

1

thumbulator.blogspot.com пока недоступен, но может быть легко изменен для большого пальца2 (что определенно улучшит ваше образование набора инструкций). Обладает меньшим количеством функций, чем qemu, но гораздо большей видимостью и значительно упрощает модификацию, в основном единственные периферийные устройства и I/O - это те, которые вы добавляете. Thumb2 - это главным образом большой палец с некоторыми новыми инструкциями. Большая часть образования большого пальца2 - это просто изучение большого пальца. Все процессоры thumb2 вполне удовлетворены набором инструкций большого пальца. В отличие от обучения arm7 перед обучением командам arm11. thumbulator поможет с набором инструкций большого пальца, базой, но не добавлением большого пальца2, если вы не решите их реализовать.

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

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

+0

На самом деле thumb2 добавляет кучу вещей и усложняет предыдущие/оригинальные инструкции для большого пальца. Я бы определенно научился палец сначала и thumb2 секунды. Рука-рука-7м доступна на веб-сайте оружия в виде бесплатной загрузки (после регистрации) и охватывает набор команд, поддерживаемых cortex-m3, и весь хаос2 большого пальца. –

1

Андроида эмулятор (4.0) показывает, что использует armeabi-v7a

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

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

0

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

  1. QEMU эмулировать устройство
  2. программного обеспечения
  3. Keil uVision
  4. Yocto BitBake инструмент

Пояснения:

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

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

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

Смежные вопросы