Instalar un emulador ARM gratuito

Noviembre 2016

Como estudiante o profesional quizás necesites testear código ensamblador para procesadores arm. El problema es que la mayoría de ordenadores que utilizamos tienen procesadores de la familia x86, y en estos no es posible ejecutar código ARM.

GNU ARM

Bajo Windows

Existe un paquete de desarrollo basado en gcc para crear ejecutables compatibles con Linux sobre la arquitectura ARM. Y lo más importante es que puedes testear pequeños ejecutables sencillos. Sin embargo, no he podido probar la depuración, por lo que correrá por tu cuenta.

Dirígete a esta página y selecciona, en la sección Binaries, la última versión del toolchain gcc para Cygwin. A la fecha es la versión 4.1.1.
Cabe resaltar que es una versión destinada a Cygwin, pero la instalación de Cygwin no es necesaria.

Ejecuta el instalador. Cuando se te solicite elegir opciones, déjalas tal cual, la instalación por defecto es una instalación completa.

Ahora haremos un pequeño test con código arm. Vamos a mostrar “Hello Kioskea”. Para ello, abre el bloc de notas de Windows, luego copia el siguiente código y guarda el fichero (llámalo test.s):
.text

.chaine:
.ascii "Hello Kioskea"
.align 2

.global main
.type main, %function

main:
/* Guarda la dirección de retorno en la pila */
str lr, [sp, #-4]!

/* Llamado a la función puts con la dirección de nuestra cadena */
ldr r0, .Dir_Cadena
bl puts

/* return 0 del main */
mov r0, #0

/* Retomamos nuestra dirección de retorno de función que introducimos en el contador de instrucciones */
ldr lr, [sp], #4
mov pc, lr

.Dir_Cadena:
.word .chaine


Tenemos nuestro fichero de código ensamblador. Ahora, abre la consola de comandos de Windows, y posiciónate en el directorio del fichero fuente. Para compilar este fichero en un ejecutable elf (formato ejecutable en Linux), escribe este comando:
arm-elf-gcc test.s -o test


Para testear este ejecutable, escribe:
arm-elf-run test


Esto es suficiente para testear el código pero únicamente tendrás la ejecución. Para depurar, necesitarás ejecutar el comando arm-elf-gdb.

Como habrás podido observar, la sintaxis utilizada por gcc para los ficheros fuente ensamblador es complicada. Necesitarás tiempo para dominarla. Para testear lo que un código C puede dar en ensamblador arm con la sintaxis gcc, puedes compilar un fichero C con arm-elf-gcc utilizando la opción –S, esto dará como salida un fichero en ensamblador en lugar de un ejecutable. El ejemplo para nuestro hello Kioskea es una versión simplificada de un fichero ensamblador creado por gcc.

Más adelante encontrarás vínculos para acceder a la documentación sobre la sintaxis gcc para el ensamblador.

IAR

A continuación veremos una solución sencilla pero no portable (únicamente bajo Windows) y limitada.
Se trata de un entorno de desarrollo ARM. IAR ofrece uno en su sitio Web gratuitamente. Pero es limitado a 32 KB de código, sin embargo, suficiente para testear pequeños códigos. Lamentablemente, este programa no es portable, no existe bajo Windows y debes inscribirte en el sitio oficial para obtener una licencia gratuita.
El programa es: KickStart version of IAR Embedded Workbench for ARM
Esta es más que nada una solución para solucionar problemas, en todo caso no es limitada en el tiempo.

Nota: No he verificado si la licencia permite un uso comercial en esta versión.

Notas

Una página que contiene varios tutoriales para utilizar el ensamblador con la sintaxis de gcc
Conjunto de instrucciones ARM

Consulta también :
El documento «Instalar un emulador ARM gratuito» de CCM (es.ccm.net) se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo siempre y cuando respetes las condiciones de dicha licencia y des crédito a CCM.