edelpuerto escribió:Perodna tio.
Fue despieste mio.
me faltaba la linea de:
SetupCallbacks();
soy un zokete.
Muchas graciasss, por tu explendida ayudaa, estoy muy contento.
Nota.- Os seguiré molestando a los maestross
donde encuentro psplinkusb + psp-gdb ?
Es que yo uso el Shell 3.81, y me va como el culo. se me para la conexion cada 2x3
Me alegro de que te funcione todo bien :)
Sobre el psplinkusb y psp-gdb, ambos estan en el svn de ps2dev.org.
EL psp-gdb si no recuerdo mal, se compila con el propio psptoolchain, mira a ver si tienes el comando psp-gdb donde tengas el psp-gcc, si no tendrás que bajarte de nuevo el psptoolchain y decirle que compile el gdb, no se si tenia un parámetro para hacerlo, o tenias que poner GDB=1 dentro del script o algo así, bueno, si no lo tienes y no ves como se pone me dices y te lo miro.
Para hacerte con la ultima version de psplinkusb, usa el siguiente comando:
$ svn co
svn://svn.ps2dev.org/psp/trunk/psplinkusb
Y para compilarlo, entras al directorio resultado y hace make release
$ cd psplinkusb
$ make release
Eso te generara una carpeta release_oe que es la versión que necesitas para firmware 3.XX, en concreto lo que tienes que copiar a psp/game/ es la carpeta release_oe/pspslink/
También tendrás que compilar el pspsh y el usbhostfs, para el pspsh. estando en el directorio psplinkusb/
$ cd release_oe/pc/pspsh/
$ make
Para el usbhostfs, tambien desde el dir psplinkusb/ (se necesita libusb)
$ release_oe/pc/usbhostfs_pc/
$ make
Yo lo hago todo desde Linux, si usas cygwin y no te funciona el usbhostsfs_pc, creo que hay por ahi un usbhostfs_pc.exe para windows, tendrías que buscarlo.
Para debugear tu programa, al compilar añadele "-g" en las flags o si no no tendrás los símbolos de debug.
Con todo este tinglado te ahorras tener que subir cada vez los ficheros a la psp, y lo pilla todo por usb.
Bueno a lo que vamos....
Ejecutas usbhostfs_pc para "exportar" el directorio de tu aplicación en mi caso desde linux como root
# release_oe/pc/usbhostfs_pc/usbhostfs_pc /directorio/de/la/aplicacion
Luego arrancas la psp y ejecutas el "psplink oe" entonces el terminal con el usbhostfs_pc te pondrá "Conected to device"
Para manejar el psplink desde el pc ejecutas pspsh
$ release_oe/pc/pspsh/pspsh
Y desde ahí puedes lanzar comandos, por ejemplo:
host0:/> ./tufichero.prx ---> ejecuta tu aplicacion
host0:/> reset --> reincia psplink (para volver a lanzar la app)
host0:/> debug tufichero.prx --> activa el modo debug para usarlo con psp-gdb
Tiene muchos mas comandos, tienes un pdf que viene con todas las instrucciones.
Si has lanzado "debug tufichero.prx" ahora conectas con psp-gdb
$ psp-gdb tufichero.elf
Una vez dentro del psp-gdb para conectar el gdb con el debug del psplink
target remote :10001
Y ahí ya se maneja como el gdb de UNIX, si no lo conoces mucho, tendrás que mirarte una guia de gdb en internet. Pero los comandos básicos son
(gdb) c --> continuar la ejecución del programa
(gdb) n --> next, ir a la siguiente instrucción (si es una función no entra)
(gdb) s --> step, ir a la siguiente instrucción (si es una función si entra)
(gdb) bt --> backtrace, cuando se produce un cuelgue de la aplicacion
(gdb) print nombre_variable --> para ver el contenido de la variable mientras se esta ejecutando
(gdb) break nombre_de_funcion() --> crea un breakpoint al entrar a la función
(gdb) break fichero.c:54 --> crea un breakpoint cuando se ejecute la linea 54 del fichero.c
(gdb) quit --> salir
Después de hacer el "target remote :10001" lo primero que hay que hacer es poner los breakpoints si se desea, y mandar "c" para que empiece la ejecución de la aplicación en la psp.
En un poco enrevesado, pero es la manera mas fácil que conozco de hacer debug en la psp, porque debugear directamente desde el psplink sin gdb si que es un locura...
Además aunque no uses el gdb, es muy cómodo recompilar la aplicación y hacer "reset" "./aplicacion.prx" desde el pspsh para cargar la nueva version, asi te ahorras el tener que estar saliendo de la aplicación, enchufar la psp por usb, pasar los ficheros y volver a lanzar la aplicación.