Building a GNU Cross tool-chain for ARM926EJ-S
ARM926EJ-S is a
32-bit ARM processor supporting ARMv5TE instruction set. ARM
processors on Linux are well supported by the GNU tool-chain and
Crosstool-NG. We propose to build a
cross tool-chain for the arm-926ejs-linux-gnueabi target (i.e. a
ARM926EJ-S host machine running Linux), with the help of
Crosstool-NG 1.20.0. With that cross tool-chain, you can for
example build applications for Linux. We provides you a tarball with
all the necessary material inside: Crosstool-NG 1.20.0, GNU
tool-chain sources, configuration files, scripts,…
1. What you get after the build ?
You get a GNU cross tool-chain for Linux/ARM926EJ-S:- GNU GCC 4.8.2 C/C++ compiler (gcc, g++,…)
- GNU binutils 2.22 (objdump, readelf,…)
- GNU Standard C Library (glibc) 2.19
- GNU debugger 7.6.1 (gdb)
Target options --->
Target Architecture (arm) --->
(armv5te) Architecture level
(arm926ej-s) Emit assembly for CPU
(arm926ej-s) Tune for CPU
(vfp) Use specific FPU
Floating point: (software (no FPU)) --->
Toolchain options --->
(926ejs) Tuple’s vendor string
Operating System --->
Target OS (linux) --->
Linux kernel version (3.14.11)
Binary utilities --->
binutils version (2.22) --->
C compiler --->
gcc version (4.8.2) --->
[*] C++
[ ] Link libstdc++ statically into the gcc binary
C-library --->
C library (glibc) --->
glibc version (2.19.0) --->
(-g) gcc extra flags
Minimum supported kernel version (Specific kernel version) --->
Specific kernel version
(2.6.9) Minimum kernel version to support
Debug facilities --->
[*] gdb --->
Target Architecture (arm) --->
(armv5te) Architecture level
(arm926ej-s) Emit assembly for CPU
(arm926ej-s) Tune for CPU
(vfp) Use specific FPU
Floating point: (software (no FPU)) --->
Toolchain options --->
(926ejs) Tuple’s vendor string
Operating System --->
Target OS (linux) --->
Linux kernel version (3.14.11)
Binary utilities --->
binutils version (2.22) --->
C compiler --->
gcc version (4.8.2) --->
[*] C++
[ ] Link libstdc++ statically into the gcc binary
C-library --->
C library (glibc) --->
glibc version (2.19.0) --->
(-g) gcc extra flags
Minimum supported kernel version (Specific kernel version) --->
Specific kernel version
(2.6.9) Minimum kernel version to support
Debug facilities --->
[*] gdb --->
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, expat
- make 3.82 (may not work with make 3.81)
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 ARM926EJ-S.4. Uncompress the tarball
$ tar zxvf crosstool-source-v4.tar.gz
5. Build the cross tool-chain
Run the building script:$ cd crosstool-source-v4
$ ./build.sh all arm-926ejs-linux-gnueabi
$ ./build.sh all arm-926ejs-linux-gnueabi
Be patient...the process of building the cross tool-chain is very long. Once finished, the cross tool-chain is in arm-926ejs-linux-gnueabi sub-directory.