¿Qué necesito para el desarrollo de un procesador ARM? [cerrado]


Estoy familiarizado con la arquitectura y ensamblaje X86[-64]. Quiero empezar a desarrollar un procesador ARM. Pero a diferencia de los procesadores de escritorio, no tengo un procesador ARM real. Creo que necesito un simulador de BRAZOS.

Http://www.armtutorial.com/ decir

Se requerirá un compilador de ensamblaje ARM, el más accesible es el ARMulator.

Pensé en descargar Armulator pero encontrado desde http://forums.arm.com/index.php?showtopic=13744 que

No se vende por separado. Pero usted puede descargar una evaluación de RVDS-que incluye RVISS/ARMulator

He descargado e instalado RVDS pero parece muy complejo. No puedo averiguar qué necesito hacer para escribir ARM assembly y ejecutarlo.

Tiene alguna sugerencia mejor?

Author: Will, 2010-04-16

4 answers

Opciones para entornos

  • Instale Linux en el emulador del sistema QEMU. Puede emular una variedad de chipsets basados en ARM.
  • Obtenga un emulador para un chipset ARM específico como un juego portátil. Gameboy Advance es divertido para jugar. NoCash GBA y VisualBoy Advance son dos grandes emuladores de GBA.

Toolchains

Necesitará una cadena de herramientas. Una cadena de herramientas es una colección de herramientas de bajo nivel como un ensamblador, un enlazador, compilador, un archivador y un montón de otras cosas útiles. Aún más, desea una cadena de herramientas cruzada, lo que significa que la cadena de herramientas se ejecuta en un sistema, pero construye ejecutables para otra arquitectura. De esta manera puede crear aplicaciones que se ejecutan en dispositivos ARM, pero en su PC basado en x86. Es más rápido y más conveniente.

Si ejecuta Windows, DevkitPro es una opción bastante buena. Para las variantes Unix/Linux/BSD, tiene las cadenas de herramientas gratuitas de CodeSourcery, y la cadena de herramientas GCC de gnuarm.com . Hay varios otros, pero no necesita más opciones.

Documentación

Obtenga la especificación para su CPU ARM de su elección en infocenter.arm.com. Una referencia que necesita sin importar la CPU es el Manual de Referencia de Arquitectura ARM (a menudo abreviado ARMARM). Estoy alojando una versión anterior, que cubre la arquitectura ARM y la versión de conjunto de instrucciones hasta ARMv4T, aquí, pero encontrará las versiones actuales y posteriores en infocenter.arm.com también. Si opta por GBA, observe que la CPU es un ARM7TDMI, con la versión del conjunto de instrucciones ARMv4T.

El ARMARM contiene consejos y ejemplos para la codificación habitual del sistema, consejos sobre cómo proceder en ciertos problemas de diseño, así como una referencia tanto del conjunto de instrucciones ARM, el conjunto de instrucciones Thumb y coprocesadores como MMU, MPU, DSP y FPU.

Si te quedas con QEMU, eso es prácticamente todo lo que necesitas, ya que el kernel de Linux se encarga de todo. QEMU también tiene emulación en modo de usuario (con un stub de biblioteca C). Si optas por uno de los emuladores de GBA, aquí tienes una buena referencia sobre el hardware de GBA y los registros de hardware: CowBiteSpec. También asegúrese de revisar http://www.gbadev.org/.

Nintendo DS es probablemente una opción también, pero no conozco ningún emulador decente para esa computadora de mano todavía. Buena suerte a usted :-)

EDITAR: Aquí hay un ejemplo trivial de algún código GBA que escribí hace años: GBA Color fill 240x160 16-bit ejemplo

 23
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-16 10:19:22

Unos pocos comentarios, no compitiendo por una respuesta completa a la pregunta de los carteles.

El beagleboard es genial, 1 150 pero se necesitan otros usb 150 en cosas USB para que sea útil. El embest beagleboard es más barato en general debido a la falta de cosas que tienes que comprar para ir con él. Pero ahora está el hawkboard, también un tablero basado en omap, cuesta menos de 1 100 y hasta ahora parece muy bien hecho. Me está gustando más que el beagleboard en este momento, mucho menos doloroso.

El open-rd board ofrece mucho más que el beagleboard para ese rango de precios, algo para mirar si/cuando tienes un presupuesto de juguete. tanto la tarjeta abierta como la incluida por otros 1 100 tienen un conector sata completo para que pueda colocar una unidad portátil en ella y no tener que usar dispositivos flash o USB dolorosamente lentos.

El cartel no tiene los recursos para comprar estos juguetes. Yo diría que si continúas persiguiendo esto y te haces bueno en embedded ARM tendrás la voluntad y encontrarás el camino. Que es por lo que yo mencionar Sparkfun y otros tienen boards 30-boards 50 tablas que funcionan fuera de la caja. Publica una pregunta en stackoverflow antes de comprar, aunque pregunta cuál es mejor. Tengo muchos y hay varios de ellos que encontré inutilizables o demasiado dolorosos para molestarme, no quiero que gastes todo tu presupuesto de juguetes en algo que no vale la pena tener.

Tengo un código de ejemplo de qemu arm integrator por aquí, permítanme empaquetarlo y proporcionar un ejemplo de trabajo. Tengo un montón de otro brazo y gba código por ahí, tal vez voy a publicar eso también.

La arquitectura ARM comenzó y la última vez trabajé con su gente/herramientas usando un emulador llamado armulator (google/wikipedia it). Así que emular arm en particular no es raro.

Escribir su propio emulador sería/podría ser un proyecto divertido o tomar uno existente y agregar sus propios periféricos. qemu y mame son demasiado voluminosos para jugar tal cual, es posible que pueda extraer el brazo de mame sin demasiado problema.

EDITAR:

Un ejemplo sencillo de arm para ejecutar en qemu:

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

EDIT2

Esto es divertido, encontré que el armulator está en el público, gdb tiene una copia skeye y otros también, lo agarró, lo roió a solo un armv4t y escribió un programa rápido de prueba de brazo y pulgar. He estado queriendo un brazo/pulgar independiente de todos modos.

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

 7
Author: old_timer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-21 18:03:27

Usted podría conseguir algo como un BeagleBoard para jugar - que solo cuestan alrededor de $200. Puede instalar Ubuntu y la cadena de herramientas ARM en él.

 4
Author: Paul R,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-16 06:37:21

Ve a buscar un RPi3 para ti. Usted puede comprobar https://www.element14.com/community/community/raspberry-pi.

Esto es realmente barato y muy fácil de usar. Y también obtendrás un gran apoyo comunitario. Comprobar https://www.raspberrypi.org/products/raspberry-pi-3-model-b / para más información.

 -1
Author: LinuxStuff,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-03 10:43:15