after a long, helpful discussion with Harteex and some advice from Cex, I've been able to setup a toolchain for developing for Gemei A330 on Mac OS X. Everything seems to work, but the binaries that come out of it simply don't run on the console (frozen interface, power off as only fix).
Here's a brief summary of what we've done so far:
- Grabbed GCC + Binutils + Newlib from devkitpro.org's devkitARM. That's what I've been using since the days of the GP32/GBA (arm-none-eabi-*) and it has served me well.
- A package of libs & includes Harteex sent me. They include SDL, which I particularly fancy and need for a project of mine I intend to enjoy on the Gemei.
- Compiled Wine to stand a chance of executing dlmake.exe with wineconsole. It works. I call it with 'wineconsole --backend=curses dlmake.exe dlmake.ini'.
* Harteex kindly sent me his object and ELF files for SDLPong, which I packaged with dlmake, and found that the result runs flawlessly on the Gemei. So dlmake is actually fine.
* His ELF file and the one I generate with my toolchain only differ on the entry point address, being every other field in the header identical, *but* the object files I generate do have different sizes than his. So the problem might be related to GCC, but I fail to see what could be wrong with it, since all config/optimisation switches are being set by the Makefile.
I'm familiar with Makefiles, C/C++ and very basic GCC, but I currently ignore many things about binary formats, the linking process and the way things execute on a machine with or without OS. I understand that the OS may provide certain headers for hardware abstraction, but I have never used any of those. However, I'm really motivated and want to learn as much as possible about those things.
Thanks for reading,