[http://www.denx.de/ DENX Software Engineering] provides the ELDK (Embedded Linux Development Kit), which includes both cross development and native tools for big and little endian MIPS processors (also for ARM and PowerPC). It can be [http://www.denx.de/twiki/bin/view/DULG/ELDKAvailability downloaded] for FREE.

[http://www.denx.de/ DENX Software Engineering] provides the ELDK (Embedded Linux Development Kit), which includes both cross development and native tools for big and little endian MIPS processors (also for ARM and PowerPC). It can be [http://www.denx.de/twiki/bin/view/DULG/ELDKAvailability downloaded] for FREE.

−

See http://www.denx.de/twiki/bin/view/DULG/ELDK

+

See http://www.denx.de/wiki/DULG/ELDK

=== Commercial Toolchains ===

=== Commercial Toolchains ===

Revision as of 17:38, 3 November 2005

A toolchain is a complete collection of compiler and binutils programs and can be run either as a cross-compiler, or native on the target (if performance allows).

Pre-built

MIPS SDE

MIPS Technologies UK maintains their own source tree
for the toolchain components. SDE combines all necessary GNU tools,
is infrequently resynchronized with mainstream GNU releases (which
inevitably have bugs for less widely used architectures such as MIPS)
and focuses on supporting the full range of ISAs, ASEs and cores, as
well as providing the most reliable, best-performing compiler for the
largest range of MIPS CPUs. See MIPS SDE Installation.

Dan Kegel

Dan Kegel has a page at http://kegel.com/crosstool/ with a nice script to automatize the build procedure. Crosstool can only generate toolchains that use the GNU C Library, support for the smaller C Library http://www.uclibc.org uClibc might be added in the future.

uClibc Toolchain and Buildroot

The Toolchain tool allows to generate a toolchain for a variety of architectures, including MIPS and MIPSel.

The Buildroot tool allows to generate both a toolchain and a root filesystem for a variety of architectures, including MIPS and MIPSel. Using a configuration tool (similar to the one used for the Linux Kernel), you can select compiler version, binutils version, and all softwares that should be included in the root filesystem. Then the Makefiles will automatically download, configure, compile, install and generate the toolchain and the root filesystem image.

Steven J. Hill

Steven J. Hill has a set of glibc/uClibc cross-toolchains over at: [1]

OpenEmbedded

The OpenEmbedded meta distribution also includes an automatic build of a full cross-toolchain for it's target architecture.
http://www.openembedded.org

Commercial Toolchains

Roll-your-own

You're adverse to using someone else's toolchains, and cannot remember how to build one yourself, no matter how hard you try. Fear not. Outlined here is the proceedure to build a bootstrap toolchain; one which is minus the C library and is just enough to build the kernel.

Prologue

Now, export a few environment variables for your convenience. If you're building for big-endian MIPS, your TARGET should be mips-unknown-linux-gnu instead. If you wish to install to a different location other than /opt/cross/, substitute in your PREFIX accordingly. A common alternative is /usr/local/.

You should now have the cross-binutils installed under ${PREFIX}/bin/ with names prefixed by mipsel-unknown-linux-gnu-* (or mips-unknown-linux-gnu-* if you're building for big-endian MIPS).

GCC

Extract, configure, build and install a bootstrap GCC.

Enable any other language front-ends as you see fit. For building the kernel however, you can get away with just the C language front-end.
Also, tell the configure script not to look for target libc headers -- we don't have them, and don't need them at this point.