Project

General

Profile

Toolchain » History » Revision 13

Revision 12 (fixeria, 01/21/2019 03:58 AM) → Revision 13/23 (fixeria, 05/11/2019 12:44 AM)

h1. Toolchain 

 To compile the target firmware for [[OsmocomBB]] or [[SIMtrace:]], you need a GNU Toolchain for ARM. There are various pre-compiled toolchains available, but not all of them will produce working firmware. We're trying to support all these configurations, but it might take a while to identify the source of a problem. If you have persistent errors when compiling, try using a different package. 

 *note:* -as of 2013-10-20, if you use a toolchain with gcc >=4.8, the firmware can be compiled, but will hang as soon as you want to sync to an ARFCN.- This issue has been "fixed":http://cgit.osmocom.org/osmocom-bb/commit/?id=a903b3c1ee27047c79728b18ff6340d23d1aad2e in master. 

 h3. Binary distribution 

 You can use a pre-compiled toolchain provided by your GNU/Linux distribution. 

 For Debian based distributions (Ubuntu, Linux Mint, etc.), use the following command: 

 <pre> 
 $ sudo apt install gcc-arm-none-eabi 
 </pre> 

 For ArchLinux (https://www.archlinux.org/packages/community/x86_64/arm-none-eabi-gcc/): 

 <pre> 
 $ sudo pacman -S arm-none-eabi-gcc 
 </pre> 

 

 h3. Build one from source 

 If you want to build your own toolchain, known to be working with [[OsmocomBB]], see here: [[GnuArmToolchain]]. 

 This is the best option to get a fairly recent GCC, and this is the option used by several [[OsmocomBB]] developers. 

 h3. Building old branches 

 If you need to build the firmware from old unmaintained branches (sylvain/burst_ind, sylvain/testing, jolly/testing, etc.), an older version of toolchain is needed. 

 Please follow the build instructions at: https://github.com/axilirator/gnu-arm-installer/ 

 h3. Mac OS X 

 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. 
 If you omit the links, there will be unresolvable references to symbols in the libraries. 
Add picture from clipboard (Maximum size: 48.8 MB)