BRN:Software:Build and Distribution:Compiler: Difference between revisions
(Fixed typos) |
|||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
= Introduction = |
= Introduction = |
||
The first |
The first challenge to get the BRN software for a new target platform you have to build a (cross) compiler.<br> |
||
A compiler translates a high-level programming language (like C or C++) into binary code for execution on the target platform's CPU.<br> |
A compiler translates a high-level programming language (like C or C++) into binary code for execution on the target platform's CPU.<br> |
||
We will need a GCC (GNU Compiler Collection/GNU C Compiler) with support for the C and C++ programming languages to build the Linux kernel and the click modular router.<br> |
We will need a GCC (GNU Compiler Collection/GNU C Compiler) with support for the C and C++ programming languages to build the Linux kernel and the click modular router.<br> |
||
Line 26: | Line 26: | ||
---- |
---- |
||
[[BRN:Software:Build_and_Distribution|Prev]] | [[BRN:Software:Build_and_Distribution|Contents]] | [[BRN:Software:Build_and_Distribution:SDE|Next]] |
<span style="padding-left:0.5em">'''[[BRN:Software:Build_and_Distribution|Prev]]''' | '''[[BRN:Software:Build_and_Distribution|Contents]]''' | '''[[BRN:Software:Build_and_Distribution:SDE|Next]]'''</span> |
Latest revision as of 12:27, 23 October 2006
Introduction
The first challenge to get the BRN software for a new target platform you have to build a (cross) compiler.
A compiler translates a high-level programming language (like C or C++) into binary code for execution on the target platform's CPU.
We will need a GCC (GNU Compiler Collection/GNU C Compiler) with support for the C and C++ programming languages to build the Linux kernel and the click modular router.
A cross compiler generates code for another platforms than it is running on. (e.g. a MIPS cross compiler running on an x86 Linux Workstation)
Search for ready-to-use toolchains
There are many projects supporting Linux on embedded platforms (e.g. MIPS, ARM, PPC or M68k) and they published toolchains to get a (cross) compiler in a simple manner. An active project is OpenWrt.
OpenWGT toolchain
A working toolchain for the Netgear WGT634U is provided by OpenWGT, which bases on an old version of the OpenWrt buildroot.
To build this toolchain, first checkout the buildroot tree from subversion:
$ svn co svn://svn.sar.informatik.hu-berlin.de/openwgt-dev
Afterwards, simply build it by running:
$ make toolchain -C openwgt-dev/buildroot
Finally you should be able to find the cross-compiler, linker and other tools in openwgt-dev/buildroot/build_mipsel/staging_dir/bin/.
OpenWrt/FreeWRT toolchain
TODO