Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
development:toolchain [2016/12/19 16:02]
fachet [Oracle Virtual Box Image]
development:toolchain [2018/01/10 13:00]
preisig [Toolchain]
Line 2: Line 2:
 Many or even most tasks can be implemented using the integrated [[sdk:sdk | SDK]] with the C-like scripting language and the router API functions. ​ Many or even most tasks can be implemented using the integrated [[sdk:sdk | SDK]] with the C-like scripting language and the router API functions. ​
 ===== Toolchain ===== ===== Toolchain =====
-However, if for some reasons you want or have to cross-compile a C application,​ you will find  +However, if for some reasons you want or have to cross-compile a C application,​ you will find the different ​ 
-[[ftp://​share.netmodule.com/​router/​public/​toolchain | PowerPC cross-compilation ​toolchain ​]] on our FTP server.  +[[ftp://​share.netmodule.com/​router/​public/​toolchain | Cross-compilation ​toolchains ​]] on our FTP server. 
-This toolchain ​consists of a compiler ([[https://​gcc.gnu.org/​ | GNU Compiler Collection (GCC)]] version 4.4.5), ​+The toolchains ​consists of a compiler ([[https://​gcc.gnu.org/​ | GNU Compiler Collection (GCC)]] version 4.4.5), ​
 a assembler and linker ([[https://​www.sourceware.org/​binutils/​ | GNU binutils]]) and  a assembler and linker ([[https://​www.sourceware.org/​binutils/​ | GNU binutils]]) and 
 a [[wp>C standard library]] ([[http://​www.uclibc.org/​ | uClibc]] version 0.9.31), all built to produce binaries ​ a [[wp>C standard library]] ([[http://​www.uclibc.org/​ | uClibc]] version 0.9.31), all built to produce binaries ​
-for NetModule Routers ​with Freescale/Motorola ​PowerPC ​(MPC830x) CPUs, namely ​NB1600, NB2700, NB2710, NB3700and NB3710.+for NetModule Routers
 + 
 +The following Cross-Compilation toolchains are available:​ 
 + 
 +  * [[ftp://​share.netmodule.com/​router/​public/​toolchain/​netbox-ppcPowerPC]] / NB1600, NB2700, NB2710, NB3700 and NB3710 
 +  * [[ftp://​share.netmodule.com/​router/​public/​toolchain/​netbolt-arm/​ | ARM]] / NB2800, NB3701, NB3711 and NB3800 
 +  * [[ftp://​share.netmodule.com/​router/​public/​toolchain/​netbird-arm/​ | ARM]] / NB800
  
-For the ARM based products NB2800, NB3701, NB3711 and NB3800 the toolchain is available on [[ftp://​share.netmodule.com/​toolchain/​netbolt-arm/​ | ARM cross-compilation toolchain]]. ​ 
  
 For further introduction to GCC please refer to [[http://​www.tunl.duke.edu/​documents/​public/​root/​material/​5/​An_Introduction_to_GCC-Brian_Gough.pdf|An Introduction to GCC]], chapter 2 and following ones. For further introduction to GCC please refer to [[http://​www.tunl.duke.edu/​documents/​public/​root/​material/​5/​An_Introduction_to_GCC-Brian_Gough.pdf|An Introduction to GCC]], chapter 2 and following ones.
Line 16: Line 21:
 ==== Getting Started ==== ==== Getting Started ====
  
-1. Download and install the toolchain on your Linux x86 PC+1. Download and install the corresponding ​toolchain ​from above on your Linux x86 PC
 <code bash> <code bash>
 wget ftp://​share.netmodule.com/​router/​public/​toolchain/​netbox-ppc/​toolchain-ppc-4.4.5-x86_64.tar.bz2 wget ftp://​share.netmodule.com/​router/​public/​toolchain/​netbox-ppc/​toolchain-ppc-4.4.5-x86_64.tar.bz2
Line 45: Line 50:
  
 3. Compile it 3. Compile it
 +
 +__PowerPC:​__
 <code bash> <code bash>
 powerpc-openwrt-linux-gcc -Wall hello.c -o hello powerpc-openwrt-linux-gcc -Wall hello.c -o hello
 +</​code>​
 +
 +__ARM:__
 +<code bash>
 +arm-openwrt-linux-gcc -Wall hello.c -o hello
 </​code>​ </​code>​
  
Line 54: Line 66:
 This example shows you how to compile a program from source. The program in this example is [[https://​stedolan.github.io/​jq/​download/​ | jq]] This example shows you how to compile a program from source. The program in this example is [[https://​stedolan.github.io/​jq/​download/​ | jq]]
  
 +__PowerPC__
 <code bash> <code bash>
 wget https://​github.com/​stedolan/​jq/​releases/​download/​jq-1.5/​jq-1.5.tar.gz wget https://​github.com/​stedolan/​jq/​releases/​download/​jq-1.5/​jq-1.5.tar.gz
Line 59: Line 72:
 cd jq-1.5 cd jq-1.5
 CC=powerpc-openwrt-linux-gcc ./configure --host=powerpc --disable-maintainer-mode CC=powerpc-openwrt-linux-gcc ./configure --host=powerpc --disable-maintainer-mode
 +make
 +</​code>​
 +
 +__ARM__
 +<code bash>
 +wget https://​github.com/​stedolan/​jq/​releases/​download/​jq-1.5/​jq-1.5.tar.gz
 +tar -xzf jq-1.5.tar.gz
 +cd jq-1.5
 +CC=arm-openwrt-linux-gcc ./configure --host=arm --disable-maintainer-mode
 make make
 </​code>​ </​code>​