PDA

Ver la versión completa : JTAG para depurar programas



jlz
15/05/2006, 16:50
Hola a todos.



Pregunta directa. ¿Alguien ha utilizado el JTAG para depurar programas en la GP2X? ¿Que software habeis utilizado?

He intentado poner el GDB con JTAG pero me supera.

Gracias.

Puck2099
15/05/2006, 17:21
Para usar el GDB no hace falta el jtag, con usar la conexión telnet que trae la propia consola (o el usb-serie) es suficiente.

Saludos

jlz
15/05/2006, 17:43
Gracias pero, ¿podrías aclarar un poco como lo haces? ¿Se ejecuta el GDB compilado para la GP2X en la consola? ¿Se ejecuta el GDB en el PC y un "servidor" que se ejecuta en la consola?

De todas maneras, me sigue interesando utilizar el JTAG para depurar.

Gracias de antemano.

Puck2099
15/05/2006, 17:46
Me tengo que ir, cuando vuelva te explico si no lo ha hecho nadie antes :)

BuD
15/05/2006, 19:05
Gracias pero, ¿podrías aclarar un poco como lo haces? ¿Se ejecuta el GDB compilado para la GP2X en la consola? ¿Se ejecuta el GDB en el PC y un "servidor" que se ejecuta en la consola?

De todas maneras, me sigue interesando utilizar el JTAG para depurar.

Gracias de antemano.
Bueno, segun lo que se, se ejecuta gdbserver en la GP2X y con un cliente desde tu ordenador depuras (o eso creo). Pero la verdad, nunca lo he probado, asi que no podre responderte otras dudas a parte de esta. Aqui tienes el link para cojer todo lo que te hace falta:
http://www.gp32spain.com/foros/showthread.php?t=30851

No se si habia un problema con el client, y que Puck lo habia arreglado (cuando digo "arreglado" es que lo ha conseguido compilar bien). Si eso ya te informara del resto él mismo cuando postee.

JimmySlam
15/05/2006, 19:55
a mi me tmb me interesaria ver eso
asike puck :D ya sabes majete.

jlz
16/05/2006, 16:06
Me tengo que ir, cuando vuelva te explico si no lo ha hecho nadie antes :)


Pues, parece que no se anima nadie. Tatocao Puck, ¿si fueras tan amable...?

Puck2099
16/05/2006, 16:21
Bueno, depende de como quieras hacerlo, yo lo que hago es copiar en la propia SD el gdb compilado para ARM (http://www.gp2x.de/cgi-bin/cfiles.cgi?0,40,0,0,1)y, desde el telnet o usb-serie, lo ejecuto en la propia consola.

También se podría ejecutar un gdbserver y conectar con Insight como te han dicho más arriba, pero todavía no he probado a hacerlo.

Saludos

< - >
Por cierto, este hilo (http://www.epanorama.net/phpBB2/viewtopic.php?t=12164&sid=f92120c978d2b8099641e7dcbe43c076) tiene muy buena pinta para hacer funcionar el Insight+gdbserver :)

Saludos

jlz
16/05/2006, 16:29
He probado a compilar esto (http://sourceforge.net/projects/jtagarmgdbsrvr) pero no he podido hacerlo funcionar. He llegado a la conclusión que no funciona con ARM9.

A proposito Puck, no funciona el link que has puesto al Gdb compilado para ARM.

Puck2099
16/05/2006, 16:31
A proposito Puck, no funciona el link que has puesto al Gdb compilado para ARM.

Acabo de probar y sí funciona...

De todos modos, te pego aquí el contenido:


A good tool for ARM is insight and gdbserver.

I've build the 6.1 version in the past:

First I've "untarred" the sources into a directory, then created a directory
insight-6.1-arm and gdbserver-arm-6.1.

The directory with sources look like this:

../gdbserver-arm-6.1 (empty)
../insight-6.1 (the source tree)
../insight-arm-linux-6.1 (empty)


This is the configuration commands I've used:

Into the insight-arm-linux-6.1:

# ../insight-6.1/configure --host=i686-pc-linux --target=arm-linux
--prefix=/usr/local/insight-arm-6.1 --enable-sim

# make
# make install


Then, into gdbserver-arm-6.1 configure the gdbserver program:

# ../insight-6.1/gdb/gdbserver/configure --target=arm-linux

# make



After build, run the insight program.
In the "File", "Target settings" menu, select this options:

Connection:
Target: Remote/TCP
Hostname: <the ip address of your target ARM device>
Port: 2345 (or any free port you want)

Expand the "More options", then:
Run Options:
[x] Attach to Target
[ ] Download program

Run Method:
< > Run program
<X> Continue from last stop

And for the global options, ensure that the "Set breakpoint at main" is
checked.


Search in the gdbserver-arm-6.1 directory the binary "gdbserver" and put it
into your target.
Then, after having builded your application with the -ggdb debug option, run
it in the target arm device in this way:

# gbdserver <your PC TCP/IP address>:<2345 or your port> <your program>
<your arguments>

In the insight program, select the "run" menu, then "Run", choose your ARM
program binary and... play with it!


I think that the same procedure may be used to build the gdb source. Gdb may
be used with another front-end, if you don't like insight.

I hope this may help you.

Regards,
Gabriele

jlz
17/05/2006, 15:45
No, no, ese link no, el otro


Bueno, depende de como quieras hacerlo, yo lo que hago es copiar en la propia SD el gdb compilado para ARM (http://www.gp2x.de/cgi-bin/cfiles.cgi?0,40,0,0,1)y, desde el telnet o usb-serie, lo ejecuto en la propia consola.



De todas maneras, muchas gracias, lo probaré y mañana te digo.

< - >
Bueno, ya es mañana.

He intentado compilar el insight 6.4 y tengo problemillas, mañana pruebo con el 6.1 como pone en el hilo.

Puck2099
17/05/2006, 15:50
Bueno, ya es mañana.

He intentado compilar el insight 6.4 y tengo problemillas, mañana pruebo con el 6.1 como pone en el hilo.

¿Has probado a compilarlo desde Windows o Linux?

Yo lo compilé ayer para Linux sin problemas siguiendo ese tutorial.

Aquí os dejo una captura de pantalla :)

http://www.gp32wip.com/screenshots/Pantallazo.png

jlz
22/05/2006, 21:12
Utilizo Linux. He intentado compilarlo con un gcc 2.95.nomeacuerdo que tengo por ahi (Es con el único que he podido compilar el kernel para la GP2X y lo tengo como "bueno") pero parece ser que no vale. He tenido que hacer un parche en el gdbserver y me da un assert. Tengo que intentarlo con un gcc 4.0.nomeacuerdo que tengo en la recamara.

Lo que pasa es que estoy un poco lidado ya que he tenido que poner el firm 2.0.0 para poder montar el directorio del PC en la GP2X y bla bla bla.

Bueno, estoy muy agradecido por la ayuda y que en cuanto lo ponga en marcha os cuento.

A proposito, ¿Que compilador usais?

Gracias por todo

P.D. Por la captura veo que tu tambien usas emacs ;-)

jlz
31/05/2006, 18:26
Bueno, pues ya lo he conseguido.

He tenido que utilizar la versión de Insigh 6.4 y amañarla un poco porque no compilaba talcual, pero ya esta funcionando.

Gracias por la ayuda.