Project

General

Profile

Toolchain » History » Version 6

Anonymous, 02/19/2016 10:49 PM

1 1 tsaitgaist
To compile osmocomBB or SIMtrace for the target we need a GNU Toolchain for ARM.
2
There are various pre-compiled toolchains available but not all of them will produce working firmware.
3
We will try to support all these configurations but it might take a while to identify the source of a problem.
4
5 5 tsaitgaist
If you have persistent errors when compiling, try using a different package.
6
7 1 tsaitgaist
8 6 tsaitgaist
=== Build one from source ===
9 1 tsaitgaist
10 6 tsaitgaist
If you want to build your own toolchain, known to be working with OsmocomBB, see here: [wiki:GnuArmToolchain].
11 1 tsaitgaist
12 6 tsaitgaist
This is the best option to get a fairly recent GCC, and this is the option used by several Osmocom-BB developers.
13
14
15
=== GNUArm ===
16
17
The toolchains that are known working are the [http://www.gnuarm.com GNUArm.com] ones. Only x86_64 versions are usable [http://gnuarm.com/bu-2.16.1_gcc-4.0.2-c-c++_nl-1.14.0_gi-6.4_x86-64.tar.bz2 here]. The ones for x86 are based on 3.4.3 which it too old to compile Osmocom-BB properly.
18
19 1 tsaitgaist
For amd64
20
{{{
21
wget http://www.gnuarm.com/bu-2.16.1_gcc-4.0.2-c-c++_nl-1.14.0_gi-6.4_x86-64.tar.bz2
22
tar xf bu-*_gcc-*-c-c++_nl-*_gi-*_x86-64.tar.bz2
23
mv gnuarm-* ~/gnuarm
24
}}}
25
26
To be able to use the toolchain, add the crosscompilers to your PATH
27
{{{
28
export PATH=~/gnuarm/bin:$PATH
29
}}}
30
31 2 tsaitgaist
32
=== Ubuntu packages ===
33
gnuarm packages from following ppa are known to work on ubuntu 10.10 to build osmocom-bb. They are known '''not''' to work for SIMtrace
34 6 tsaitgaist
35 2 tsaitgaist
{{{
36 1 tsaitgaist
sudo add-apt-repository ppa:bdrung/bsprak
37 4 tsaitgaist
sudo apt-get update
38 1 tsaitgaist
sudo apt-get install arm-elf-toolchain
39
}}}
40 6 tsaitgaist
41
(FIXME: Should be rechecked, the information might be outdated)
42
43 1 tsaitgaist
44
=== Mac OS X ===
45
46
Apparently the arm-elf-gcc 4.3.2 from ports for mac os x can compile the sourcecode as well after symlinking /opt/local/bin/arm-elf-ranlib to /opt/local/bin/arm-elf-linux-ranlib and /opt/local/bin/arm-elf-strip to /opt/local/bin/arm-elf-linux-strip.
47
If you omit the links, there will be unresolvable references to symbols in the libraries.
Add picture from clipboard (Maximum size: 48.8 MB)