This CD contains three pre-built toolchains, one from emdebian.org, one from the LART project and a third from compaq's handhelds.org team. The emdebian chain is newest, and we've had good sucess with it, but all are used by various people. They all have very similar functionality.
At the moment the most likely situation where a pre-built toolchain will not do the job is if you need Thumb support, in which case you need to use gcc v3 (not yet released at the time of writing, but available as snapshots).
Native Pre-built Compilers
For binary versions of native compilers (ie ones that run on ARM and compile for ARM), the current stable release is on the Aleph ARMLinux CD. You can also get them from:
Resources
The current stable release on Debian's master FTP site (armv3l and above).
The latest release on Debian's master FTP site (armv3l and above).
Sometimes ARMLinux.org will have experimental versions available.
Emdebian
The emdebian version includes gcc version 2.95.2, binutils 2.9.5.0.37, and glibc 2.1.3. Installation is simple. If you have a Debian system then the emdebian cross-compiler is incredibly simple to install - just show apt the directory on the CD and do apt-get install task-cross-arm. What could be simpler?
| Warning |
The emdebian cross development environment will install files in /usr/bin so you will have to make sure that you do not overwrite any development tools which you may already have on your system. |
Installing the Toolchain
task-cross-arm is a virtual package which includes:
gcc version 2.95.2;
binutils 2.9.5.0.37;
glibc 2.1.3.
This is made up of the following packages:
the C preprocessor: cpp-arm_2.95.2-12e4_i386.deb;
the C compiler: gcc-arm_2.95.2-12e4_i386.deb;
the C++ compiler: g++-arm_2.95.2-12e4_i386.deb;
gnu C library: libc6-dev-arm_2.1.3-8e4_i386.deb;
C++ library: libstdc++2.10-arm_2.95.2-12e4_i386.deb;
C++ library and headers: libstdc++2.10-dev-arm_2.95.2-12e4_i386.deb;
Binary utilities: binutils-arm_2.9.5.0.37-1e3_i386.deb.
They are available in both deb and RPM form.
In order to set up your cross development environment on a Debian system, proceed as follows:
su to root by typing su at the prompt;
add the line
deb http://www.emdebian.org/emdebian unstable main
to your /etc/apt/sources.list file;type apt-get update to tell apt/dselect to note the new packages available ;
enter apt-get install task-cross-arm to install your new development environment;
type exit to become a normal user and begin to cross-compile.
For the RPM form download it and use:
rpm -i g++-arm-1%3a2.95..2-12e4.i386.rpm
LART
The LART tarball contains:
gcc 2.95.2;
binutils 2.9.5.0.22;
glibc 2.1.2.
Installing the Toolchain
In order to install the LART tarball on your system, do the following:
mkdir /data
mkdir /data/lart
cd /data/lart
bzip2 -dc arm-linux-cross.tar.bz2 | tar xvf -
You can then add /data/lart/cross/bin to your path. The C and C++ compilers can then be invoked with arm-linux-gcc and arm-linux-g++ respectively.
Compaq
The Compaq arm-linux cross toolchain includes:
gcc-2.95.2;
binutils-2.9.5.0.22;
glibc-2.1.2 with the international crypt library.
The toolchain is compiled with a i386 host with an armv41 target.
Installing the Toolchain
Note: The toolchain must be installed in /skiff/local as it will not work from any other path.
The only other problem that you may have with the include files is that the tarball was set up for Linux 2.2.14. You may consequently need to set up symbolic links:
ln -s /usr/src/linux/include/asm
/skiff/local/arm-linux/include/asm
ln -s /usr/src/linux/include/linux
/skiff/local/arm-linux/include/linux
Alternatively, copy /usr/src/linux/include/asm and /usr/src/linux/include/linux to /skiff/local/arm-linux/include before running make menuconfig and make dep. This will verify that your kernel tree and correct symbolic links are up to date.
Note: This toolchain has glibc symbol versioning. If you are using a NetWinder, you may have to compile your code with static libraries.
