Подтвердить что ты не робот

Что мне нужно для разработки для ARM-процессора?

Я знаком с архитектурой и сборкой X86 [-64]. Я хочу начать разработку для процессора ARM. Но в отличие от настольных процессоров, у меня нет реального процессора ARM. Мне кажется, мне нужен симулятор ARM.

http://www.armtutorial.com/ say

Требуется компилятор сборки ARM, наиболее доступным является ARMulator.

Я думал о загрузке Armulator, но нашел из http://forums.arm.com/index.php?showtopic=13744, что

Его не продают отдельно. Но вы можете загрузить оценку RVDS, которая включает в себя RVISS/ARMulator

Я загрузил и установил RVDS, но он выглядит очень сложным. Я не могу понять, что мне нужно сделать , чтобы написать сборку ARM и запустить ее.

Есть ли у вас лучшие предложения?

4b9b3361

Ответ 1

Параметры для сред

  • Установите Linux в системный эмулятор QEMU. Он может эмулировать различные чипсеты на базе ARM.
  • Получить эмулятор для определенного набора ARM-чипов, такого как карманный компьютер. Gameboy Advance - это забавно играть. NoCash GBA и VisualBoy Advance - два великолепных эмулятора GBA.

компилированные инструменты

Вам понадобится инструментальная цепочка. Инструментальная цепочка представляет собой набор инструментов низкого уровня, таких как ассемблер, компоновщик, компилятор, архиватор и множество других полезных материалов. Более того, вам нужна кросс-привязка, что означает, что инструментальная цепочка работает в одной системе, но создает исполняемые файлы для другой архитектуры. Таким образом, вы можете создавать приложения, которые запускаются на ARM-устройствах, но на вашем ПК на базе x86. Это быстрее и удобнее.

Если вы запустите Windows, DevkitPro - довольно хороший выбор. Для вариантов Unix/Linux/BSD у вас есть бесплатные коды инструментов CodeSourcery, а инструментальная цепочка GCC из gnuarm.com. Есть несколько других, но вам не нужно больше опций.

Документация

Получите спецификацию для вашего процессора ARM по выбору infocenter.arm.com. Одна ссылка, в которой вы нуждаетесь, независимо от того, является ли CPU основным справочным руководством по архитектуре ARM (часто сокращенно ARMARM). У меня есть старая версия, которая охватывает архитектуру ARM и версию набора команд до ARMv4T, здесь, но вы найдете текущую и последующую версии на infocenter.arm.com. Если вы перейдете на GBA, обратите внимание, что CPU - это ARM7TDMI, с набором команд ARMv4T.

В ARMARM содержатся советы и примеры для обычного машинного кодирования, советы о том, как действовать по определенным проблемам проектирования, а также ссылка как набора команд ARM, набора команд Thumb, так и сопроцессоров, таких как MMU, MPU, DSP и FPU.

Если вы придерживаетесь QEMU, это почти все, что вам нужно, поскольку ядро ​​Linux обрабатывает все. QEMU также имеет эмуляцию пользовательского режима (с заглушкой C-библиотеки). Если вы идете на один из эмуляторов GBA, здесь хорошая ссылка на аппаратные и аппаратные регистры GBA: CowBiteSpec. Также не забудьте проверить http://www.gbadev.org/.

Nintendo DS, вероятно, тоже вариант, но я пока не знаю каких-либо достойных эмуляторов для этого портативного компьютера. Удачи вам: -)

EDIT: Здесь тривиальный пример некоторого кода GBA, который я написал много лет назад: GBA Color fill 240x160 16-разрядный пример

Ответ 2

Несколько комментариев, не конкурирующих за полный ответ на вопрос о плакатах.

Beagleboard классный, 150 долларов, но он требует еще $150 в usb-материалах, чтобы сделать его полезным. Эмблема beagleboard дешевле в целом из-за отсутствия вещей, которые вы должны купить, чтобы пойти с ним. Но теперь есть hawkboard, также плата на основе omap, стоит менее 100 долларов, и до сих пор, кажется, очень хорошо сделано. Мне сейчас нравится больше, чем бигльборд, гораздо менее болезненный.

Плата open-rd предлагает гораздо больше, чем beagleboard для этого ценового диапазона, что-то посмотреть, если/когда у вас есть бюджет на игрушку. как открытая плата, так и вложенная за еще 100 долларов США, имеет полный соединитель sata, поэтому вы можете поставить на него ноутбук и не использовать медленные флеш-устройства или USB-устройства.

У плаката нет ресурсов для покупки этих игрушек. Я бы сказал, что если вы продолжите преследовать это и получить хорошее место в встроенной ARM, у вас будет желание и найти способ. Вот почему я упоминаю Sparkfun, а у других есть доски от $30 до $50, которые работают из коробки. Отправьте вопрос в stackoverflow, прежде чем покупать, спрашивая, что лучше. У меня их много, и многие из них я считаю непригодными или слишком болезненными, чтобы не беспокоиться, я бы не хотел, чтобы вы потратили весь свой бюджет на игру на то, чего не стоит.

У меня есть пример кода кода интегратора qemu, который лежит здесь, позвольте мне его упаковать и предоставить рабочий пример. У меня есть много других кодов рук и gba, возможно, я тоже опубликую это.

Архитектура ARM началась, и в последний раз я работал со своими людьми/инструментами с помощью эмулятора под названием armulator (google/wikipedia it). Таким образом, эмулирующая рука в частности не является чем-то необычным.

Написание собственного эмулятора будет/может быть интересным проектом или взятием существующего и добавлением собственных периферийных устройств. qemu и mame слишком громоздки, чтобы играть с помощью as-is, вы могли бы извлечь руку из мама без особых проблем.

EDIT:

Простой пример для запуска на qemu:

http://www.dwelch.com/integrator.tar.gz

EDIT2

Это весело, я обнаружил, что подлокотник вышел из публики, у gdb есть копия skeye, а другие тоже, схватили его, перегрызли до просто armv4t и написали быструю тестовую программу для рук и пальцев. В любом случае, вам нужно иметь автономный рычаг /thumbulator.

http://www.dwelch.com/armulator-20100421a.tar.gz

Ответ 3

Вы можете получить что-то вроде BeagleBoard, чтобы играть - они стоят всего около 200 долларов. Вы можете установить на нем Ubuntu и инструментальную цепочку ARM.

Ответ 4

Пойдите, получите один RPi3 для вас. Вы можете проверить https://www.element14.com/community/community/raspberry-pi.

Это действительно дешево и очень просто в использовании. И вы также получаете отличную поддержку сообщества. Для получения дополнительной информации просмотрите https://www.raspberrypi.org/products/raspberry-pi-3-model-b/.