desktop version

[ARCHIVE][October 08, 2012] Building a GNU Cross tool-chain for PPC440FP

WARNING!

This is a deprecated content.
An up-to-date version of it is here

PPC440 is a 32-bit PowerPC processor from IBM. It supports standard PowerPC floating-point instructions through an external floating-point unit (FPU) connected on the Auxiliary Processor Unit (APU) interface. PowerPC processors on Linux are well supported by the GNU tool-chain and Crosstool-NG. We propose to build a cross tool-chain for the powerpc-440fp-linux-gnu target (i.e. a PPC440 host machine with FPU support running Linux), with the help of Crosstool-NG 1.11.3. With that cross tool-chain, you can for example build applications for Linux, a BusyBox environment and a Linux kernel for PPC440. We provides you a tarball with all the necessary material inside: Crosstool-NG 1.11.3, GNU tool-chain sources, configuration files, scripts,…

1. What you get after the build ?

You get a GNU cross tool-chain for Linux/PPC440FP:
  • GNU GCC 4.4.6 C/C++ compiler (gcc, g++,…)
  • GNU binutils 2.19.1 (objdump, readelf,…)
  • GNU Standard C Library (glibc) 2.9
  • GNU debugger 6.8 (gdb)
We followed these instructions with the following Crosstool-NG 1.11.3 configuration at step 5 (only changes are shown):
Target options --->
  Target Architecture (powerpc) --->
    (440fp) Emit assembly for CPU
    (440fp) Tune for CPU
  Floating point: (hardware (FPU)) --->

Toolchain options --->
  (440fp) Tuple’s vendor string

Operating System --->
  Target OS (linux) --->
  Linux kernel version (2.6.35.13 (longterm))

Binary utilities --->
  binutils version (2.19.1) --->

  [*] binutils libraries for the target
  [*] libiberty (NEW)
  [*] libbfd (NEW)

C compiler --->
  gcc version (4.4.6) --->
  [*] C++
  [ ] Link libstdc++ statically into the gcc binary

C-library --->
  C library (glibc) --->
  glibc version (2.9) --->
  (-U_FORTIFY_SOURCE) extra target CFLAGS
  [*] Use the ports addon

Debug facilities --->
  [*] gdb --->

Companion libraries --->
  MPFR version (2.4.2) --->
  CLooG/ppl version (0.15.9) --->

2. Requirements

  • A Linux host machine (may work on other Un*x machines)
  • The following tools: grep, sed, bash, cut, install, make, gcc, awk, bison, flex, makeinfo, automake, libtool, stat, curl, cvs, patch, tar, gzip, bzip2, lzma, readlink, binutils, ncurses

3. Get the material

Download that tarball. It contains all the necessary material (scripts and source codes) to get a working GNU cross tool-chain for PPC440FP.

4. Uncompress the tarball

$ tar zxvf crosstool-source-powerpc-440fp-linux-gnu-v1.tar.gz

5. Build the cross tool-chain

Run the building script:
$ cd crosstool-source-powerpc-440fp-linux-gnu-v1
$ ./build.sh all
Be patient...the process of building the cross tool-chain is very long. Once finished, the cross tool-chain is in powerpc-440fp-linux-gnu sub-directory.

What's new ?

The web site has been migrated to a new server. Please note that contact mails have changed too. More to come…stay tuned!

Virtual Platforms

Highlights

Acknowledgments

Digiteo
We would like to thank Digiteo that supported us in making the UNISIM virtual platforms available to the community.

Exhibition

HiPEAC
We presented a poster at the poster sessions of the HiPEAC'12 conference, January 23-25, 2012, Paris, France. The HiPEAC conference provides a forum for experts in computer architecture, programming models, compilers, and operating systems for embedded and general-purpose systems. The conference aims at the dissemination of advanced scientific knowledge and the promotion of international contacts among scientists from academia and industry.

On-going evaluation

OPEES
A UNISIM virtual platform of a Xilinx Virtex-5 FXT is being evaluated by project partners in the context of OPEES (Open Platform for the Engineering of Embedded Systems), a European project that aims to ensure long-term availability of critical / embedded systems engineering technologies to secure industry competitiveness and development.