Configurar entorno de desarrollo GP2X

Sistema sobre el que vamos a desarrollar.
Para desarrollar para la GP2X nos suministran un CD-ROM con el SDK preparado para Windows. Yo personalmente no tengo maquinas Windows, con lo que voy a montar el entorno de desarrollo en una máquina Linux. Más concretamente para una distribución Ubuntu 9.04.

Preparando el entorno.
Para desarrollar para la GP2X, hay varios toolchains, pero personalmente voy a utilizar el toolchain open2x, más que nada, porque fue el que me aconsejaron para comenzar (gracias juanvvc de zonadevicio.com).

Lo podemos bajar de aquí:
http://wiki.open2x.org/open2x/wiki/index.php?title=Toolchain

y además debemos de bajar las librerias SDL preparadas para la GP2X:
http://wiki.open2x.org/open2x/wiki/index.php?title=Prebuilt_Library_Packages

En mi caso, voy a utilizar el toolchain para GCC 4.1.1, y para las librerías la misma versión que para el toolchain. Siquiendo las anotaciones que nos indican en el site, una vez descargados los archivos, quitamos la extensión .zip y procedemos a descomprimir los ficheros. Nos aparecerán dos directorios uno llamado opt y otro llamado gcc-4.1.1-glibc-2.3.6. Movemos este último a opt y sobreescribimos algunos archivos.

Este directorio opt, o mejor dicho, su contenido (open2x) lo vamos a mover a /opt. La carpeta que se crea es /opt/open2x.

Configurando el IDE de desarrollo.
Para desarrollar, voy a utilizar el IDE Code::Blocks.

Como la GP2X tiene microprocesadores ARM, deberemos utilizar un compilador destinado a ello, y es lo que nos hemos descargado en el punto anterior.

Una vez arrancado el IDE, en la barra de menú elegimos Settings > Compiler and debuger… y nos aparece la siguiente pantalla emergente:

[imagen-01]

El compilador por defecto es GNU GCC Compiler. Realizamos una copia de este mismo, pulsando al botón Copy y escribimos el nombre con el que vamos a identificar al compilador. Yo he puesto GP2X ARM GCC Compiler.

Una vez que tengamos la entrada, la seleccionamos y procedemos a configurarlo.

Pulsamos Aceptar y ya tenemos listo el entorno para desarrollar.

Proyecto de prueba.
Realizamos un proyecto de prueba, para ver si compilamos de forma correcta para GP2X. Creamos un proyecto de consola, y le damos nombre. Yo en mi caso le he llamado GP2X001. Nos ponemos encima del proyecto creado, y pulsamos con el botón derecho del ratón y en el menú emergente que nos aparece, seleccionamos: properties…. En el diálogo emergente que nos aparece, seleccionamos la pestaña Projects settings y pulsamos el botón Project’s build options… y en la ventana emergente que nos aparece, nos aseguramos que esté nuestro perfil de compilacion: GP2X ARM GCC Compiler.

Una vez seleccionado el perfil de compilación para GP2X, pulsamos aceptar, y ahora, seleccionando la subpestaña Build targets en la casilla Output filename, añadimos al final la extensión gpe y desmarcamos la casilla Auto-generate filename extension.
Creamos un fuente c++ y lo llamamos main.cpp. El contenido del fichero puede ser el siguiente:


#include <iostream>
#include <SDL/SDL.h>
using namespace std;
int main()
{
  //Start SDL
  SDL_Init( SDL_INIT_EVERYTHING );
  //Quit SDL
  SDL_Quit();
  return 0;
}


Y pulsamos a compilar, opteniendo en la consula de salida lo siguiente:

-------------- Build: Release in GP2X001 ---------------
 Compiling: main.cpp
 Linking console executable: bin/Release/GP2X001.gpe
 Output size is 3,92 MB
 Process terminated with status 0 (0 minutes, 5 seconds)
 0 errors, 0 warnings

Con lo que ya disponemos de un entorno, y de un ejecutable para la GP2X.

Bueno, espero que esto os haya sido de ayuda a los que estais empezando como yo, aunque también os recomiendo darse una vuelta por el foro: www.zonadevicio.com