| : |
Currently the preferred toolchain for the mc1322x project is the Sourcery G++ Lite 2008q3-66 for ARM EABI. It's based on the following:
with patches from CodeSourcery. This is very similar to the previous mc1322x-oe toolchain. OE has moved on to newer chains (and eglibc). It is also not straightforward to make "bare-metal" chains (arm-none-) with OE. For these reasons, the OE toolchain is getting retired (good riddance!)
You will need the 32-bit compatibility libraries to run this on a 64-bit machine:
apt-get install ia32-libs
You can either download and install the executable .bin or just the
binary package. Either way you will have to add the executables to
your PATH
Download the .bin installer:
$ wget http://www.codesourcery.com/sgpp/lite/arm/portal/package3688/public/arm-none-eabi/arm-2008q3-66-arm-none-eabi.bin
then:
$ sh arm-2008q3-66-arm-none-eabi.bin
and modify your path:
PATH=$PATH:$HOME/CodeSourcery/Sourcery_G++_Lite/bin
Download the archive:
wget http://www.codesourcery.com/sgpp/lite/arm/portal/package3686/public/arm-none-eabi/arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
extract the archive:
tar xjvf arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
and setup your PATH:
$ export PATH=$PATH:$HOME/arm-2008q3/bin
Download and run:
http://www.codesourcery.com/sgpp/lite/arm/portal/package3689/public/arm-none-eabi/arm-2008q3-66-arm-none-eabi.exe
Moving to GCC 4.5 will take some a little work. Both the 4.5 CS chain and the Linaro chain (which will be included in Ubuntu starting with maverick) are options. They are both built with AAPCS support. This does not work with the ROM calls as is (used by the project for the NVM and LQI). To get these newer chains to work, the ROM calls will have to be wrapped with the necessary assembly. Work on this is done in the gcc-linaro branch of libmc1322x.
There is also a GCC bug regarding -Os flag. This has been fixed in
upstream 4.5. The fix should be present in Linaro 4.5 and will
eventually be backported to 4.4. For now, the gcc-linaro simply
doesn't use -Os