Crosscompile tools

From WikiWiki

Jump to: navigation, search
 charset=iso-8859-1

Content-Transfer-Encoding: binary

Technologic Systems has a GCC ARM cross compile package already built for Windows (with cygwin), and Linux.

It is available at ftp://ftp.embeddedarm.com/downloads/Linux/ARM/

There is also an unofficial toolchain available here at http://www.seiner.com/ts7000/crosstool-0.38.tar.bz2 . This toolchain is based on gcc-3.4.4, glibc-2.3.2, and kernel headers from 2.4.26. This toolchain appears to resolve all of the issues I've seen (see below...) Comments welcome.

If you're having compile problems, then please do not use my tools hoping they will fix the problem. Make sure you can compile everything using the TS tools before you try this toolchain.

This should be considered a beta toolchain until it has been tested in the field. I have been informed by TS staff that they have experienced memory corruption with gcc 3.4.x. I have not seen this and the system runs fine with the kernel compiled with this crosschain so far.


I've been fighting cross-compile issues....

If you use gcc 3.3.x, with any glibc, buxybox init will not work. It will fail either completely locking up the machine, or, if it comes up, it will not be able to load modules.

If you use gcc 3.4.x, with any glibc except 2.3.5, modules will load but your kernel will only see 4MB on board RAM...

If you use gcc 3.4.x with glibc 2.3.5, your modules will not load....

I really didn't want to use the module-init-tools init, since the busybox init is much better suited to embedded systems.

So.....

Build or download a toolchain based on gcc 3.4.4, glibc 2.3.2, and kernel headers 2.4.26. I used Dan Kegel's cross-tools.

When you compile the kernel, add -fno-unit-at-a-time to the

CFLAGS_KERNEL =

line in the makefile...

Your kernel should now compile and see all the memory in the TS7xx0.....

Personal tools