1.4. Requirements

This document assumes that you are familiar with RVDS, the GNU tools and Linux.

Target requirements

Please note that the instructions in this document relate to building Linux applications for ARM architecture v5TE or later targets, such as the ARM926EJ-S or ARM1176JZ-S. This is because the ARM ABI uses architecture v5TE as its reference architecture and earlier architecture versions are not fully covered by the ABI.

You may be able to use these instructions to build Linux applications for ARM architecture v4T cores (such as the ARM720T and ARM920T) with RVCT. However, this is entirely at your own risk and is not supported. In particular, you will not be able to use Thumb code built for architecture v4T. We suggest that you only use the GNU toolchain when building Linux applications for ARM architecture v4T targets.

Your target's filesystem must contain the ABI-compliant library binaries. These are included in the CodeSourcery GNU toolchain releases described below in the build requirements. Finally, the target must be running a Linux kernel with support for NPTL (the Native POSIX Threading Library, the new mechanism for supporting multithreaded code under Linux with the GNU C library) and TLS (thread-local storage). See section 1.4 below for further details on the ABI requirements on your target system.

For the mainstream kernel source, this means that your target must be running version 2.6.12 (or later) of the Linux kernel. However, your Linux distribution may have applied the appropriate patches to its release of an earlier kernel. You should contact your Linux distributor for further details.

Prebuilt binary images of the Linux kernel configured for ARM's own development boards can be found on the ARM website at: http://www.arm.com/linux/prebuilt_download.html.

Build requirements

All information in this document relates to the use of RVCT 3.0 and RVCT 3.0 Service Pack 1 (SP1).

Note that CodeSourcery's 2005-Q1 release was the first to allow EABI-compliant interoperation between RVCT and the GNU toolchain. However, several enhancements and fixes have been made since then and the instructions in this document relate only to the CodeSourcery 2005-Q3-2 release and beyond, as it is now simpler and safer to link with the newer release.

Any work that you do using CodeSourcery's 2005-Q1 or older releases is at your own risk and we will not be able to provide any support when using RVCT with these old versions.

At the time of writing the CodeSourcery binary and source packages for the GNU toolchains can be found at: http://www.codesourcery.com/gnu_toolchains/arm/

Your ARM Linux distribution may already use the CodeSourcery toolchain or have the appropriate patches applied. You should contact your ARM Linux distributor for further details.

The examples have been tested using RVCT 3.0, RVCT 3.0 SP1 and CodeSourcery releases 2005-Q3-2, 2006-Q1-3 and 2006-Q1-6.The example makefiles have all been developed for and tested with GNU make 3.80 however they should also work correctly on other recent versions of GNU make.

Copyright © 2005-2006. All rights reserved.DAI0150B
Non-Confidential