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
development:toolchain [2015/09/24 12:08]
fachet [Oracle Virtual Box Image]
development:toolchain [2021/08/04 09:20] (current)
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 | cross-compilation ​toolchain ​]] on our FTP server.  +[[https://​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:​ 
 + 
 +  * [[https://​share.netmodule.com/​router/​public/​toolchain/​netbox-ppcPowerPC]] / NB1600, NB2700, NB2710, NB3700 and NB3710 
 +  * [[https://​share.netmodule.com/​router/​public/​toolchain/​netbolt-arm/​ | ARM]] / NB1800, NB1810, NB2800, NB3701, NB3711 and NB3800 
 +  * [[https://​share.netmodule.com/​router/​public/​toolchain/​netbird-arm/​ | ARM]] / NB1601, NB800 
  
 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.
  
 +**Please be ware that NetModule can not support systems with customer extensions.**
 ==== 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/​toolchain-ppc-4.4.5-x86_64.tar.bz2+wget https://​share.netmodule.com/​router/​public/​toolchain/netbox-ppc/​toolchain-ppc-4.4.5-x86_64.tar.bz2
 tar -xvf toolchain-ppc-4.4.5-x86_64.tar.bz2 -C /opt tar -xvf toolchain-ppc-4.4.5-x86_64.tar.bz2 -C /opt
 export PATH=$PATH:/​opt/​toolchain-ppc-4.4.5-x86_64/​bin export PATH=$PATH:/​opt/​toolchain-ppc-4.4.5-x86_64/​bin
Line 42: 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 51: 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 56: 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>​
Line 69: Line 94:
  
 ===== Oracle Virtual Box Image ===== ===== Oracle Virtual Box Image =====
-For small projects or if you don't have a Linux environement you can also use the very small [[ftp://public:​public@share.netmodule.com/​router/​public/​toolchain/​NetModule_NB_PowerPC_Compile.ova |Virtual Box Image]]. The image uses Tiny Core Linux (http://​tinycorelinux.net/​). Please read the startup message carefully. ​+For small projects or if you don't have a Linux environement you can also use the very small [[https://​share.netmodule.com/​router/​public/​toolchain/​netbox-ppc/​NetModule_NB_PowerPC_Compile_1_3.ova |Virtual Box Image]]. The image uses Tiny Core Linux (http://​tinycorelinux.net/​). Please read the startup message carefully. This is only valid for the NB1600, NB2700/​2710,​ NB3700/3710.