Confused About Arm Compilers?


tapiiri

Still Fresh
Joined
Dec 20, 2005
Messages
8
What are arm-linux toolchain and gnuarm? what's the difference?
I downloaded the arm compiler from www.gnuarm.com, is it useless for gp2x?
 
It's hard to be very helpful without having tried them all; still...

The most significant difference between the various toolchains seems to be the gcc version - the arm-linux one on gp32spain's ftp server is using gcc 2.95, and is directly compatible with the shared libraries on the device itself, which has some benefits. However, I've found significant other problems using this toolchain, so I wouldn't recommend it now.

I've never heard of gnuarm, but I think all the other toolchains are essentially based on the same versions of the same free software - perhaps configured differently and perhaps bundling different libs (e.g. SDL). Personally I use Open2X now, which provides a shell script to download and build all the tools (compilers and libraries). Apparently this works in Windows as well as Unix, but it does require you to have some other software installed in that case. It's arguable that you're going to need that software anyway in the long run!

There's also devkitpro, which I think is more popular - it provides a precompiled toolchain for Windows, as far as I know - see the Wiki pages already linked above. It wasn't obvious to me from their website how to download a Linux version though (precompiled or not), so that's why I didn't use it.

theoddbot has also released build scripts for building your own toolchain from sources. I don't know anything about it though.

I think at the end of the day you have to accept that in these early stages different people are using different environments, so there's no one "best" setup. You also need to be prepared to do some legwork yourself - e.g. I don't think open2x's toolchain comes with SDL out of the box, so you have to get that separately (I think it's elsewhere in their CVS repository) and build it yourself.

Generally this kind of thing isn't that hard, and it's good practice to get to grips with it anyway! Some people are complaining about various SDL versions lacking some components, and if they didn't build it from sources themselves they're at the mercy of whoever did, regarding configuration and which components are available. If you build your own version, you can fix any bugs you find, port extra components, etc, and contribute back to the scene any patches you make.

In any case, you can probably take comfort in the fact that someone else is already using whatever toolchain you pick - you're not alone! Maybe we should do a poll to see how many people are using each.
 
If you are a beginner with development, try downloading the newly released DevKitGP2X linux build-script and run it using the following:

# sh build.sh

Then just select option 1 and the script will connect to the internet and download all the correct files and pretty soon (well maybe an hr or 2) you will have a working environment under /usr/local/devkitpro/arm-linux/

I personnaly have ran into a couple of problems with these scripts (for example: I didn't have gawk installed so it failed) but other than that I am sure they work OK.

If you are on windows, it is probably best to just go with the DevKitGP2X windows release. Those binaries are already compiled for you, no hassles.

Then you can simply download the gp2x-libraries (not sure of the link) and away you go.

NOTE: I am also releasing a complete linux development environment for the GP2X. It will have everything you need to start making progs for the GP2X. The project is called GP2niX and you can find it on sourceforge.
 
Back
Top