Pregunta

Soy un novato en el mundo de ARM. Tengo que ser capaz de escribir código C, compilarlo, y luego descarga en un emulador ARM, y ejecutar. Necesito usar el compilador GCC 4.1.2 para la compilación de código C.

me puede punto cualquiera en las direcciones correctas para los siguientes problemas?

¿Qué cadena de herramientas para su uso?

¿Qué emulador para su uso?

¿Hay tutoriales o guías sobre la configuración de la cadena de herramientas?

¿Fue útil?

Solución

construcción de un compilador gcc cruz sí mismo es bastante fácil. la biblioteca gcc y la biblioteca C y otras cosas no tanto, una biblioteca incorporada y un poco más duro tal. Depende de lo incorporado, se desea conseguir. Tengo poca utilidad para gcclib o una biblioteca de C de modo rodar sus propias obras grandes por mí.

Después de muchos años de hacer esto, quizás es una cosa de la edad, ahora a ir a buscar las herramientas de código Sourcery. la versión lite funciona muy bien. yagarto, devkitARM, WINARM o algo por el estilo (el sitio con unos ejemplos trillón) todos funcionan bien. emdebian también tiene un conjunto de herramientas buena pre-construidos. varios de estos lugares, si no todos tienen información sobre cómo construyeron sus cadenas de herramientas de fuentes GNU.

Se preguntó acerca de gcc, pero hay que tener en cuenta que llvm es un competidor fuerte, y por lo que compilación cruzada va, ya que siempre compilaciones cruzadas, es un compilador mucho más fácil cruz a descargar y generar y conseguir trabajo de gcc. la reciente versión está produciendo código (por brazo) que compite con gcc para el rendimiento. gcc es de ninguna manera un líder en el rendimiento, otros compiladores que tengo el funcionamiento circunda alrededor de él usadas, pero se ha ido mejorando con cada versión (versiones 3.x así las veces producen un código mejor que las versiones 4.x, pero se necesitan 4 .x para los nuevos núcleos y thumb2). incluso si vas con gcc, puede utilizar la versión estable de llvm de vez en cuando.

QEMU es un buen emulador, dependiendo de lo que está haciendo el emulador GBA gameboy advance virtual es buena. Hay un par de emuladores de NDS también. BGF y otros lugares tienen lo que parecen ser las ARM propia armulator. Me pareció difícil de extraer y uso, así que escribí mi cuenta, pero el ser perezoso sólo se implementó el sistema de instrucción del pulgar, que se llama mina de la thumbulator. fácil de usar. Mucho más fácil que qemu y armulator para añadir periféricos a y ver y depurar el código. ymmv.

Hmmm me envió una respuesta similar para alguien recientemente. Google: Verilog y al UMich se encuentra un archivo en el que isc.tgz es un ARM10 de comportamiento (como en el no se puede hacer un chip de ella, por lo tanto se pueden encontrar en la red Verilog) modelo de brazo. Lo que para alguien que quiera aprender un conjunto de instrucciones, observando el código de ejecución en el nivel de la puerta es casi tan bueno como se pone. Tener cuidado, como una droga, puede volverse adicto a continuación tienen un tiempo difícil cuando vuelva a silicio donde se tiene relativamente cero visibilidad de su código mientras se está ejecutando. En algún lugar de stackoverflow he publicado los pasos a seguir para conseguir ese modelo ARM10 y otro archivo o dos para convertirlo en un emulador brazo utilizando Icarus Verilog. gtkwave es una buena y una herramienta libre para el examen de la onda de archivos (VCD).

Por encima de todo se necesita el ARM ARM. (El brazo arquitectónico Manual de Referencia). Sólo Google y encontrarlo en la página web de ARM. No hay pseudo-código para cada instrucción que la enseñanza de lo que hacen. Usar la thumbulator o armulator u otros si es necesario comprender más (mame tiene un núcleo ARM en ella también). No hago ninguna garantía de que el thumbulator está depurando 100% o exacta, me tomó algunos programas comunes y se comparó su producción de silicio tanto el brazo y no el brazo para depurar el núcleo.

Otros consejos

Toolchain puede utilizar Yagarto http://www.yagarto.de/

emulador puede utilizar Proteus ISIS http://www.labcenter.com/index.cfm (Hay una versión de demostración)

y tutoriales, así, Google les =)

Buena suerte!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top