2010-02-22 18 views
20

Durante este año habrá un par de computadoras portátiles multitáctiles de menos de 600 € que contendrán Tegra2. Me brindan una buena excusa para aprender el lenguaje ensamblador ARM. Pero no tengo ni idea de dónde empezar, aparte de arm.com.Reunión de ARM de aprendizaje

Para la primera tirada, pude simplemente tomar un emulador con una distribución de Linux. Pero, ¿qué emulador y distribución funcionarían mejor en este caso? Tener acceso a los archivos del sistema host estaría bien, así podría compilar y ejecutar binarios ARM directamente desde mi directorio personal.

No me gustaría perder mucho dinero en libros, así que necesitaría algunos ejemplos de código fuente de montaje y una buena introducción gratuita al conjunto de instrucciones. Los indicadores del compilador gcc para compilar programas ARM en x86 también serían buenos, pero también podría descubrirlos yo mismo.

+0

http://simplemachines.it/simulators.html –

Respuesta

8

Obtenga una versión de evaluación de one of the arm software toolkits que incluirá un emulador de software/depurador. Si está dispuesto a gastar unos cientos de dólares, obtenga un tablero de evaluación de brazo (Keil vende algunos). Puede probar su código en la placa a través de una interfaz JTAG y ver qué sucede en el hardware real.

Estos deben obtener su ir en la dirección correcta

Revelación: Yo trabajo para ARM.

6

Los documentos de referencia ARM realmente proporcionan una muy buena introducción al conjunto de instrucciones. Esos son un gran lugar para comenzar.

Dado que está escribiendo ensamblado (y por lo tanto, probablemente esté interesado en detalles de rendimiento de bajo nivel), querrá un simulador con precisión de ciclo o hardware real (o ambos). Además de las opciones de hardware que David Lively sugirieron, también podría consultar un Beagle Board.

En lo que respecta a los compiladores, existen las herramientas RealView de ARM y GCC. El soporte para las características de hardware más nuevas puede estar algo más completo en las herramientas de ARM.

+1

+1 para los tableros Beagle. Los he visto en acción en la oficina y parecen funciona bien –

3

Comience con qemu para un emulador, distribuciones de Linux, y algunas placas dentro y fuera del mercado son compatibles. Vaya a sparkfun.com hay muchos tableros de brazo sub $ 50 para aprender a armar ensamblador, pero no necesariamente a Linux. Desea aprender arm7 o armar primero y luego pulgar segundo. El tablero de embestida (asumiendo que no es demasiado barato) es mejor que el beagleboard, ya que para hacer que el beagleboard sea útil necesitarás gastar otros $ 150 en cables y cosas de usb. El tablero de embestida tomó una semana o dos para llegar a los EE. UU. Desde el momento en que se ordenó. Por ese dinero, prefiero la tabla openrd o una computadora con un sheveva maravilloso. O para un sistema anterior, vaya con embeddedarm.com. si estás buscando un ensamblador no necesitarás un sistema con capacidad para linux, así que busca algo de sparkfun, arm7 basado en sam7 o lpc, ya hay uno con un puerto serial pero ya tienes que suministrarlo. Obtenga un jtag-tiny o tres de amontec, una gran herramienta para simplemente tener.

El avance de Game Boy es un buen lugar para aprender a programar también el brazo y el pulgar, el visualboy advance es un buen emulador. Puedo mostrarte cómo hacer un cable serial y encontrar el hardware para hacer otras cosas. Hay un linux El NDS (Nintendo DS) también es un buen sistema, pero comenzaría primero con el GBA. Evita el NDSi.

Descargo de responsabilidad: No tengo afiliación de brazo pero tengo al menos uno de todo lo descrito anteriormente, más algunas placas estelares (thumb2 aprende la corteza-m3 ÚLTIMO después del brazo y el pulgar).

5

El mejor recurso que he encontrado para aprender ARM Assembly language from scratch es este tutorial: "http: // www.coranac.com/tonc/text/asm.htm "

Está un poco desactualizado pero explica los conceptos básicos de ARM Assembly, y luego podrá leer los manuales de referencia oficiales de ARM para ver los detalles del dispositivo que Por ejemplo, si está apuntando a teléfonos inteligentes, entonces ARM v7 es un conjunto de instrucciones muy popular en estos días para que pueda enfocarse en eso y aprender sobre Thumb-2 y las tecnologías más nuevas. O si está apuntando a microcontroladores integrados que solo cuestan algunos dólares, hay algunas características ligeramente diferentes disponibles, etc.