Discussion

Tutorials included with Pandev Linux assume that the reader has basic knowledge of C/C++. If this is not the case, then I recommend that you start by getting a book on the C/C++ language and practice the concepts taught by modifying the Hello World tutorial. When you are comfortable with C/C++ then you should proceed with the other tutorials.

Otherwise, the development process for the Pandora game system will be very similar to that of a typical PC. However, there are several key exceptions that are described in the following sections.

Cross Compiling

In my experience while developing a prototype game engine for the GP2X on a PC, the most difficult part was cross-compiling the software for the GP2X. Cross-compiling requires the developer to use a "special" development environment which provides:

The source code for the tutorials included with Pandev Linux should work without any changes, however some changes will be required for the Makefile. The next release of Pandev Linux will add cross-compiling support and will include additional tutorials to describe the process.

Porting Software to ARM

See these notes on Porting Software to ARM Linux and Porting from x86 to OMAP3. A brief summary of the key results is described next.

None of these issues should be very common and are relatively easy to deal with.

Static Linking

Dynamic linking on the Pandora is difficult because the dynamic libraries may not fit into NAND memory due to it's limited size and the dynamic libraries may not always be available when stored in removable storage. As a result, dynamic linking is used for the PC and static linking is used for the Pandora.

See Static or Dynamic Linking of Libraries for more details.