SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: bitelmaniaco en Lunes 27 de Abril de 2009, 14:03

Título: programar en Eclipse para arquitectura ARM
Publicado por: bitelmaniaco en Lunes 27 de Abril de 2009, 14:03
Buenas, estoy realizando un proyecto para manejar una placa que lleva un chip AMR9 y con un núcleo linux (no sé si se dice así).
Lo que estoy haciendo es programar en lenguaje ANSI C en Ubuntu, utilizando Eclipse, paso lo que he programado a la placa mediante el Filezilla (ya que está conectado mediante ethernet) y luego lo trato de depurar mediante gdbserver.

De momento me está dando un problema de depuración al añadirle breakpoints (mi programa de momento solo tiene tres "hello worlds" y le pongo un punto de parada en el segundo), ya que me da error justo en la línea en el que le pongo el breakpoint.

¿Alguien puede ayudarme?  :argh:

Muchas gracias.
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: Eternal Idol en Lunes 27 de Abril de 2009, 14:16
No se, proba poniendo el breakpoint en la primera linea y siguiendolo en assembly ...
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: bitelmaniaco en Lunes 27 de Abril de 2009, 14:29
Cita de: "Eternal Idol"
No se, proba poniendo el breakpoint en la primera linea y siguiendolo en assembly ...
¿En assembly? ¿Te refieres a ensamblador? No llego a tanto...
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: Eternal Idol en Lunes 27 de Abril de 2009, 14:35
Si. ¿El primer printf funciona correctamente? ¿Podes poner el breakpoint ahi?
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: bitelmaniaco en Lunes 27 de Abril de 2009, 15:55
Cita de: "Eternal Idol"
Si. ¿El primer printf funciona correctamente? ¿Podes poner el breakpoint ahi?

Tampoco funciona. Lo que pasa es que yo de ensamblador nada...

gracias
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: m0skit0 en Lunes 27 de Abril de 2009, 16:02
¿Qué error te da?
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: bitelmaniaco en Lunes 27 de Abril de 2009, 16:20
cannot access memory at address 0x1

y no me hace más...
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: m0skit0 en Lunes 27 de Abril de 2009, 16:24
¿Cómo tienes el asunto conectado, a nivel hardware me refiero?
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: bitelmaniaco en Lunes 27 de Abril de 2009, 16:54
Cita de: "m0skit0"
¿Cómo tienes el asunto conectado, a nivel hardware me refiero?
Lo tengo conectado por ethernet, a un switch para hacerlo remotamente, y también conectado a otro ordenador con Windows y con el Hyperterminal veo los mensajes que sale por pantalla...
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: m0skit0 en Lunes 27 de Abril de 2009, 17:02
¿Y la memoria a la CPU, seguro que la tienes bien conectada? Yo creo que tu problema es a nivel de conexiones físicas, no de software.
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: bitelmaniaco en Lunes 27 de Abril de 2009, 17:25
Cita de: "m0skit0"
¿Y la memoria a la CPU, seguro que la tienes bien conectada? Yo creo que tu problema es a nivel de conexiones físicas, no de software.
¿Es por eso? Es que lo que utilizo es un pack, todo el chip este y tal esta metido en una caja que no he abierto ni nada...  :ouch:
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: m0skit0 en Lunes 27 de Abril de 2009, 18:14
Cita de: "bitelmaniaco"
todo el chip este y tal esta metido en una caja que no he abierto ni nada...
Ah bueno, no sabía. Aunque igualmente es posible que sea.

Entonces la caja tiene un puerto Ethernet, y el cable de ese puerto va a un switch, al que está conectado otro cable que va al PC con Windows. ¿Es así?

¿Cómo accedes a la memoria del ARM?
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: bitelmaniaco en Lunes 27 de Abril de 2009, 22:40
pues de momento no he hecho nada con punteros, si te refieres a eso... simplemente trato de hacer un "hola mundo".

si te refieres a lo que tiene cargado en la memoria cuando arranca (las carpetas que el linux me carga al encenderse) lo hago con el filezilla
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: su - en Martes 28 de Abril de 2009, 03:01
Si estas pasando el programa compilado al ARM, lo que necesitas es usar un toolchain (http://en.wikipedia.org/wiki/Toolchain) ya que, por cuestiones de arquitectura, el binario no ejecuta.
Asegurate que si lo esta compilando para la arquitectura que es (ejecuta file mi_ejecutable en una terminal).
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: bitelmaniaco en Martes 28 de Abril de 2009, 09:31
Cita de: "su -"
Si estas pasando el programa compilado al ARM, lo que necesitas es usar un toolchain ya que, por cuestiones de arquitectura, el binario no ejecuta.
Asegurate que si lo esta compilando para la arquitectura que es (ejecuta file mi_ejecutable en una terminal).

joe gracias por las respuestas.

Pues mira, lo del toolchain fue de lo primero que hice, cuando ejecuto el programa en el terminal no me deja porque me dice no sé que de binario, que creo que es a lo que te refieres... ¿no?

Pero es que algo se me escapa con lo del gdbserver...
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: m0skit0 en Martes 28 de Abril de 2009, 09:41
¿Seguro que compilas bien? ¿Usas las opciones adecuadas para ARM para gcc (http://www.google.es/search?hl=es&client=firefox-a&channel=s&rls=org.mozilla%3Aes-ES%3Aofficial&hs=cFi&q=gcc+compiling+arm&btnG=Buscar&meta=)? ¿Usas libc para ARM? Te dejo un enlace por si las moscas: http://www.mobilab.unina.it/Resources/c ... HOWTO.html (http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html" onclick="window.open(this.href);return false;)
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: bitelmaniaco en Martes 28 de Abril de 2009, 09:53
Sí, está todo bastante machacaito ya, llevo como dos semanas con ello. Sinceramente, ¿nadie ha hecho lo que estoy haciendo? Si no lo puedo probar con otra IDE...
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: m0skit0 en Martes 28 de Abril de 2009, 10:45
Cita de: "bitelmaniaco"
Si no lo puedo probar con otra IDE...
¿Qué tendrá que ver? El final usarás gcc para generar el código.

¿Estás seguro de que el Filezilla escribe en la memoria?
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: bitelmaniaco en Martes 28 de Abril de 2009, 10:52
Sí, ya que cuando me conecto a la placa por el hyperterminal me aparece el archivo compilado que he creado.

Digo lo del cambio de IDE por si es más fácil lo que quiero hacer respecto al gdb.
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: m0skit0 en Martes 28 de Abril de 2009, 11:37
Recapitulando, a ver si no me pierdo: tienes una placa con ARM y sus memoria principal. Aparte tienes también en la placa una memoria secundaria. En ésta hay un Linux que se ejecuta cuando enciendes la placa. Para acceder a la memoria secundaria de la placa ARM usas Filezilla. ¿Cómo le mandas ejecutar el fichero?
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: bitelmaniaco en Martes 28 de Abril de 2009, 11:53
Siento no haberme explicado bien, pero agradezco tu dedicación. Mira, tengo la placa conectada a un ordenador por un puerto de serie (el ordenador un COM y la placa un puerto de ethernet, eso yo no lo he hecho) y luego tiene una salida a la red privada con otro puerto ethernet, la placa tiene IP propia.

Con todo esto, gracias a la conexión con el ordenador (que tiene windows) uso el hyperterminal para conectarme. Una vez cargado se inicia linux (por supuesto en modo comandos) y simplemente busco el progama que le he pasado con anterioridad por el Filezilla y lo ejecuto ahí, en el hyperterminal (como si fuera una terminal de linux) y me funciona bien, incluso cuando quiero hacer algo más "avanzado" que un "hola mundo".

Espero explicarme. Para más detalles, el conjunto de la placa es una Matrix 520 de Artila.
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: m0skit0 en Martes 28 de Abril de 2009, 12:01
Ah bueno, podrías haber empezado con esto desde el primer post, ¿no te parece?  <_<  :wacko:

Entonces la cuestión es que gdb no te funciona. ¿Qué te dice al hacer gdb -q tu_programa?
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: bitelmaniaco en Martes 28 de Abril de 2009, 15:40
me pone:

(no debugging symbols found)

¿Eso qué significa? ¿A qué se refiere con los símbolos esos que no encuentra?
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: m0skit0 en Martes 28 de Abril de 2009, 16:28
Eso es porque no has compilado con soporte para depuración  :P Debes compilar con la opción -g de gcc.
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: bitelmaniaco en Martes 28 de Abril de 2009, 18:00
Cita de: "m0skit0"
Eso es porque no has compilado con soporte para depuración  :P Debes compilar con la opción -g de gcc.
upss, pues eso solo se debe a mi falta de conocimiento...  :alien:

entonces, si yo a pelo en terminal suelo compilar así:

arm-linux-gcc programa.c -o programaEjecutable.o

¿Ahora sería así?

arm-linux-gcc -g programa.c -o programaEjecutable.o

Entonces el Makefile seria algo así supongo:

CC = arm-linux-gcc
#CC = gcc


all:   ejecutable
ejecutable:    programa.c
   $(CC) -ggdb -o ejecutable.o programa.c
   arm-linux-strip ejecutable.o

clean:
   rm -f ejecutable.o

Espero estar bien... Vamos ir por el buen camino...

Gracias.
Título: Re: programar en Eclipse para arquitectura ARM
Publicado por: m0skit0 en Martes 28 de Abril de 2009, 18:15
Cita de: "bitelmaniaco"
¿Ahora sería así?

arm-linux-gcc -g programa.c -o programaEjecutable.o
Eso es, aunque la .o se suele usar para código objeto (sin enlazar), no para ejecutables.

Cita de: "bitelmaniaco"
Entonces el Makefile seria algo así supongo:
Sip, parece estar bien.